2016-04-26 3 views
1

Я обновился до Tomcat 8 и получил это исключение при развертывании моего приложения в Linux.Ошибка создания компонента с именем «sessionFactory», определенным в ресурсе ServletContext [/WEB-INF/hibernateContext.xml]

Однако в Windows 7 приложение успешно развернуто.

Влияет ли спящий режим на разные ОС?

В моей pom.xml:

<properties> 
    <versionPackageName>com.translations.globallink.connect.core</versionPackageName> 
    <maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ss.SSSZ</maven.build.timestamp.format>   
    <spring.security.groupId>org.springframework.security</spring.security.groupId> 
    <spring.security.version>3.1.3.RELEASE</spring.security.version> 
    <spring.version>3.1.4.RELEASE</spring.version> 
    <hibernate.version>3.3.0.GA</hibernate.version> 
    <releaseControl.version>2.0.43</releaseControl.version> 
</properties> 

и зависимостей:

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-core</artifactId> 
    <version>${hibernate.version}</version> 
</dependency> 
<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-annotations</artifactId> 
    <version>${hibernate.version}</version> 
    <exclusions> 
     <exclusion> 
      <groupId>net.sf.ehcache</groupId> 
      <artifactId>ehcache</artifactId> 
     </exclusion>     
    </exclusions> 
</dependency> 
<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-commons-annotations</artifactId> 
    <version>${hibernate.version}</version> 
</dependency> 
<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-c3p0</artifactId> 
    <version>${hibernate.version}</version> 
</dependency> 
<dependency> 
    <groupId>c3p0</groupId> 
    <artifactId>c3p0</artifactId> 
    <version>0.9.1.2</version> 
</dependency> 

Внутри мишени/войны я видел эти библиотеки после строительства:

гибернации-3.2.1 .ga.jar

hibernate-annotations-3.3.0.GA.ja г

Hibernate-c3p0-3.3.0.GA.jar

гибернации-ядро-3.3.0.GA.jar

гибернации-валидатор-5.1.0.Final.jar

Зимует-EHCache-4.1.12.Final.jar

Hibernate-Викисклад аннотации-3.3.0.GA.jar

Является ли эти зависимости совместимы в Linux?

Добавление трассировки стека:

ERROR org.springframework.web.context.ContextLoader - Context initialization failed 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/hibernateContext.xml]: Invocation of init method failed; nested exception is java.lang.IncompatibleClassChangeError: Implementing class 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:589) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:925) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:472) 
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:388) 
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:293) 
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4729) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5167) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717) 
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1101) 
    at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1786) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.lang.IncompatibleClassChangeError: Implementing class 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:760) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2476) 
    at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:857) 
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1282) 
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1164) 
    at java.lang.Class.getDeclaredConstructors0(Native Method) 
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671) 
    at java.lang.Class.getConstructor0(Class.java:3075) 
    at java.lang.Class.getDeclaredConstructor(Class.java:2178) 
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:104) 
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newConfiguration(LocalSessionFactoryBean.java:818) 
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:549) 
    at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:188) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452) 
    ... 25 more 
+0

Что такое полная трассировка стека? Помимо отправленной ошибки, вы не можете также указать основную причину ошибки? – aribeiro

+1

Никогда, повторяйте Никогда, смешайте версии рамки, независимо от того, какой рамки. Вы смешиваете спящие 3,2, 3,3 и 4,1 баночки и ожидаете, что они будут работать. Это никогда не произойдет. Также валидатор hibernate даже не совместим с hibernate 3, так что это тоже не сработает. Очистите свои зависимости и используйте совместимые версии. –

+0

Не могли бы вы предложить мне совместимые версии. Я добавил свойство типа 3.3.0.GA и используя $ {hibernate.version} Я понятия не имею о причине несоответствия. –

ответ

0

Run mvn dependency:tree -Dverbose -Dincludes=commons-collections

У вас есть конфликт зависимостей.

+0

Исключая конфликты, эта работа выполнялась. Благодарю. Используется иерархия зависимостей eclipse для разрешения конфликтов. –

0

вы можете показать ваш web.xml также? Я думаю, что это проблема с вашим конфигурационным файлом i.e. Hibernate.cfg.xml не соответствует/требуется. Я думаю, что проблема с вашим кодом заключается в том, что он использует банки разных версий спящего режима. Использование банок одной и той же версии hibernate очень рекомендуется, и проблема ur может быть решена.

+0

В ОС Windows 7 мое приложение развернуто без каких-либо исключений. В centOS (Linux) приложение развертывается на tomcat 7. Вышеупомянутое исключение я получаю только тогда, когда пытаюсь развернуть на tomcat 8 в Linux. мой файл web.xml и hibernate.cfg.xml находятся внутри /WEB-INF –

+0

Если вы не указали свой путь конфигурации в web.xml. то попробуйте это на минутку: сохраните файл hibernate.cfg.xml параллельно с пакетами, то есть в папке/src, и попробуйте использовать jdk-1.8.0 с tomcat 8. –

+1

и еще одну вещь использовать банки той же версии спящий режим. –

Смежные вопросы

 Смежные вопросы