2016-12-12 6 views
0

Ich versuche, eine der JMS-Anwendung mit Springframe konfiguriert zu migrieren. Vor der Migration funktionierte es gut, aber sobald ich es migriert hatte, begann es mir einen Fehler zu machen.So konfigurieren Sie JNDITemplate mit Spring

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

und die Feder konfguration Sieht aus wie diese

<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> 

Hier Java-Code ist die Feder Konfigurationsdatei verwendet den Kontext zu schaffen.

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); 

Für mich scheint es Jar Problem. Aber ich weiß nicht, woher dieses GenericsHelper Glas kommt. Möge es von einem alten Frühling kommen. Aber jemand hilft, diese Konfiguration mit Feder 4 zu konfigurieren. Es wird sehr geschätzt.

+0

Angenommen, Sie verwenden maven tun 'Mvn Abhängigkeit: Baum' und überprüfen Sie Ihre Abhängigkeiten. –

Antwort

0

war in älteren Versionen von Spring (vor 2,5 sogar).

Sie haben wahrscheinlich nicht übereinstimmende Versionen der Frühlingsgläser auf Ihrem Klassenpfad.

Alle Ihre Frühlingsgläser müssen die gleiche Version haben; Sie können -verbose verwenden, um die Aktivität zum Laden von Klassen zu sehen (und aus welchen Dateien sie geladen werden). Es wird wahrscheinlich eine Klasse geladen werden, bevor Sie die Ausnahme erhalten, die vonabhängig ist.

+0

Ich benutze Federkern-Frühlingsbohnen. Frühlingskontext der Version 4.3.2. –

+0

Alle drei sind gleich in der Version. Ein mehr, muss ich irgendeine Konfiguration in Frühlingskonfigurationsdatei ändern. auch. –

+0

Ja, aber etwas versucht eine Version dieser Klasse zu laden; Wenn es nicht Frühling ist, muss es eine andere Klasse sein, entweder in einem Bibliotheks-Jar oder direkt in Ihrem Code. '-verbose' wird dir helfen, den zu finden. –

Verwandte Themen