2016-12-12 10 views
0

springframeworkでコンフィグレーションされたJMSアプリケーションの1つを移行しようとしています。 マイグレーションの前にうまくいきましたが、マイグレーションを実行すると、それは私にエラーを与え始めます。Springを使用してJNDITemplateを構成する方法

Caused by: java.lang.NoClassDefFoundError: org/springframework/core/GenericsHelper 
       at 

とスプリングconfgurationはこの

<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate"> 
    <property name="environment"> 
     <props> 
      <prop key="java.naming.factory.initial"> 
       org.jnp.interfaces.NamingContextFactory 
      </prop> 
      <prop key="java.naming.provider.url"> 
       localhost 
      </prop> 
      <prop key="java.naming.factory.url.pkgs"> 
       org.jnp.interfaces:org.jboss.naming 
      </prop> 
     </props> 
    </property> 
</bean> 

のように見えるここでコンテキストを作成するために、春の構成ファイルを使用しているJavaコードがあります。

DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory(); 

       BeanDefinition jmsConfigBean = BeanDefinitionBuilder.rootBeanDefinition(TestMessageSelector.class).addConstructorArg(testApp.getUser().get_empNo()).getBeanDefinition(); 
       beanFactory.registerBeanDefinition("TestMessageSelector", jmsConfigBean); 

       BeanDefinition jndiEnvironmentBean = BeanDefinitionBuilder.rootBeanDefinition(TestJndiEnvironment.class).addConstructorArg(testApp.mode).getBeanDefinition(); 
       beanFactory.registerBeanDefinition("TestJndiEnvironment", jndiEnvironmentBean); 

       GenericApplicationContext genericContext = new GenericApplicationContext(beanFactory); 
       genericContext.refresh(); 
       new FileSystemXmlApplicationContext(new String[] { "Spring_JMS_Config.xml" }, genericContext); 

私には瓶の問題のようです。しかし、私はこのGenericsHelper jarがどこから来ているのか本当にありません。それは古い春から来るかもしれない。瓶。しかし誰かがこの設定を春4で設定するのを助けます。 これは高く評価されます。

+0

mavenを使用していると仮定して、 'mvn dependency:tree'を実行し、依存関係を確認してください。 –

答えて

0

GenericsHelperは、Springの古いバージョン(2.5より前)です。

クラスパスにスプリングジャーのバージョンが一致していない可能性があります。

すべてのスプリングジャーは同じバージョンでなければなりません。 -verboseを使用すると、クラスの読み込みアクティビティ(および読み込まれたjar)を見ることができます。 GenericsHelperに依存する例外を取得する直前に、いくつかのクラスがロードされる可能性があります。

+0

私は春芯、春豆を使用しています。バージョン4.3.2のスプリングコンテキスト。 –

+0

3つのバージョンはすべて同じです。もう1つ、春の設定ファイルで設定を変更する必要がありますか?あまりにも。 –

+0

はい、何かがそのクラスのバージョンをロードしようとしています。それがSpringでない場合は、別のクラスである必要があります。ライブラリのjarファイルやコード内に直接存在する必要があります。 '-verbose'はどのファイルを見つけるのに役立ちます。 –

関連する問題