2015-11-03 113 views
1

我想在jboss eap 6.4.0上部署spring/hibernate/gwt應用程序。我的版本是無法在jboss上部署spring/hibernate/GWT應用程序

spring - 4.2.2.FINAL 
hibernate - 5.0.3 
gwt - 2.7 

我能夠運行,並部署對GWT提供Tomcat和內部碼頭的應用程序,但是當我試圖部署在JBoss我收到以下異常的應用程序。

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [com/ashish/configuration/HibernateConfiguration.class]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.hibernate.internal.CoreMessageLogger.debugf(Ljava/lang/String;II)V 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE] 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE] 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE] 
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:305) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE] 
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE] 
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:301) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE] 
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE] 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1192) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE] 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1116) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE] 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE] 
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:543) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE] 
... 26 more 
Caused by: java.lang.NoSuchMethodError: org.hibernate.internal.CoreMessageLogger.debugf(Ljava/lang/String;II)V 
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:94) [hibernate-core-5.0.3.Final.jar:5.0.3.Final] 
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35) [hibernate-core-5.0.3.Final.jar:5.0.3.Final] 
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:88) [hibernate-core-5.0.3.Final.jar:5.0.3.Final] 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:234) [hibernate-core-5.0.3.Final.jar:5.0.3.Final] 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:208) [hibernate-core-5.0.3.Final.jar:5.0.3.Final] 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:189) [hibernate-core-5.0.3.Final.jar:5.0.3.Final] 
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:51) [hibernate-core-5.0.3.Final.jar:5.0.3.Final] 
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94) [hibernate-core-5.0.3.Final.jar:5.0.3.Final] 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:217) [hibernate-core-5.0.3.Final.jar:5.0.3.Final] 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:189) [hibernate-core-5.0.3.Final.jar:5.0.3.Final] 
    at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.handleTypes(MetadataBuildingProcess.java:352) [hibernate-core-5.0.3.Final.jar:5.0.3.Final] 
    at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:111) [hibernate-core-5.0.3.Final.jar:5.0.3.Final] 
    at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.build(MetadataBuildingProcess.java:83) [hibernate-core-5.0.3.Final.jar:5.0.3.Final] 
    at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:418) [hibernate-core-5.0.3.Final.jar:5.0.3.Final] 
    at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:87) [hibernate-core-5.0.3.Final.jar:5.0.3.Final] 
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:692) [hibernate-core-5.0.3.Final.jar:5.0.3.Final] 
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:724) [hibernate-core-5.0.3.Final.jar:5.0.3.Final] 
    at org.springframework.orm.hibernate5.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:416) [spring-orm-4.2.2.RELEASE.jar:4.2.2.RELEASE] 
    at org.springframework.orm.hibernate5.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:401) [spring-orm-4.2.2.RELEASE.jar:4.2.2.RELEASE] 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE] 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE] 
    ... 36 more 

並且它不創建應用程序上下文。我已經通過了所有相關的stackoverflow問題,並且還將jboss-logging添加到了我的maven配置中。我可以在我的war文件的lib文件夾中看到jboss-logging-3.3.0.Final,但我不知道爲什麼會出現此錯誤。所有的幫助將不勝感激。

感謝

+0

我在我的手機上,所以我不能檢查我的自我。在Grepcode中查找以查看哪個庫和CoreMessageLoader#debugf定義了哪個版本。 – RockyMM

回答

0

我認爲你正在使用Java 8特定功能,如Joda Time,例如。嘗試用hibernate-java8替換它(將它添加到你的類路徑中)。

+0

我不使用喬達時間,我試圖添加hibernate-java8,但結果是相同的 – Ashish

1

JBoss隨附hibernate庫一起發貨。查看下面的鏈接來檢查隨不同版本的JBoss提供的休眠版本。

https://access.redhat.com/articles/112673

您使用的是更高版本(5.X),而JBoss已經4.x的版本(在EAP 6.4.0)。我認爲jboss lib中的hibernate jar是首先加載的,因此你會得到這個錯誤。

一個解決方案可能是從jboss lib中刪除hibernate jar,然後嘗試。

+0

所以問題是如何刪除這些罐子 – Ashish

+0

JBoss EAP是一個基於模塊的系統。您將不得不使用添加/刪除模塊命令來刪除4.x休眠模塊。 – Mohit

相關問題