2016-03-25 18 views
1

Webサービスアプリケーションを開発中ですが、sessionFactory Beanが以下のエラーのために作成されていません。私はdom4j jarの重複または矛盾したバージョンを見ることができません。私はいろいろな時代に試してみて、サーバーやプロジェクトを一新しました。原因:java.lang.ClassNotFoundException:org.dom4j.io.STAXEventReader

Hibernate version 5.1.0.Final

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/spring-database.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/dom4j/io/STAXEventReader 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 
     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 
     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 
     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 
     at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1192) 
     at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1116) 
     at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014) 
     at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:545) 
... 51 more 


Caused by: java.lang.NoClassDefFoundError: org/dom4j/io/STAXEventReader 
     at org.hibernate.boot.spi.XmlMappingBinderAccess.<init>(XmlMappingBinderAccess.java:43) 
     at org.hibernate.boot.MetadataSources.<init>(MetadataSources.java:87) 
     at org.hibernate.cfg.Configuration.<init>(Configuration.java:124) 
     at org.springframework.orm.hibernate5.LocalSessionFactoryBuilder.<init>(LocalSessionFactoryBuilder.java:110) 
     at org.springframework.orm.hibernate5.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:309) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) 
... 61 more 


Caused by: java.lang.ClassNotFoundException: org.dom4j.io.STAXEventReader from [Module "deployment.web-services.war:main" from Service Module Loader] 
     at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:205) 
     at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:455) 
     at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:404) 
     at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:385) 
     at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:130) 
... 68 more 

春のsecurity.xml

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" 
xmlns:tx="http://www.springframework.org/schema/tx" 
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd 
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"> 

<bean id="sessionFactory" 
    class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"> 
    <property name="dataSource" ref="dataSource"/> 
    <property name="packagesToScan"> 
     <list> 
      <value>com.foo.bar.entity</value> 
     </list> 
    </property> 
    <property name="hibernateProperties"> 
     <props> 
      <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop> 
      <prop key="current_session_context_class">thread</prop> 
      <prop key="hibernate.show_sql">true</prop> 
      <prop key="hibernate.validator.apply_to_ddl">true</prop> 
      <prop key="hibernate.validator.autoregister_listeners">false</prop> 
      <prop key="hibernate.hbm2ddl.auto">create</prop> 
     </props> 
    </property> 
</bean> 
<!-- Transcation Manager --> 
<tx:annotation-driven transaction-manager="transactionManager" /> 

<bean id="transactionManager" 
    class="org.springframework.orm.hibernate5.HibernateTransactionManager"> 
    <property name="sessionFactory" ref="sessionFactory" /> 
</bean> 

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> 
    <property name="jndiName" value="java:jboss/datasources/myDS" /> 
</bean> 

Mavenの依存関係:treeコマンドは、結果の下に与える: -

--- maven-dependency-plugin:2.8:tree (default-cli) @ web-services --- 
[INFO] com.car.buk:web-services:war:1.0 
[INFO] +- com.car.buk:user-management:jar:1.0:compile 
[INFO] +- com.car.buk:entity:jar:1.0:compile 
[INFO] +- org.slf4j:slf4j-api:jar:1.7.18:compile 
[INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.5.3:compile 
[INFO] | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.5.0:compile 
[INFO] | \- com.fasterxml.jackson.core:jackson-core:jar:2.5.3:compile 
[INFO] +- org.hibernate:hibernate-core:jar:5.1.0.Final:compile 
[INFO] | +- org.jboss.logging:jboss-logging:jar:3.3.0.Final:compile 
[INFO] | +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:compile 
[INFO] | +- org.javassist:javassist:jar:3.20.0-GA:compile 
[INFO] | +- antlr:antlr:jar:2.7.7:compile 
[INFO] | +- org.apache.geronimo.specs:geronimo-jta_1.1_spec:jar:1.1.1:compile 
[INFO] | +- org.jboss:jandex:jar:2.0.0.Final:compile 
[INFO] | +- com.fasterxml:classmate:jar:1.3.0:compile 
[INFO] | +- dom4j:dom4j:jar:1.6.1:compile 
[INFO] | | \- xml-apis:xml-apis:jar:1.0.b2:compile 
[INFO] | \- org.hibernate.common:hibernate-commons-annotations:jar:5.0.1.Final:compile 
[INFO] +- org.hibernate:hibernate-entitymanager:jar:5.1.0.Final:compile 
[INFO] +- org.springframework:spring-core:jar:4.2.5.RELEASE:compile 
[INFO] +- org.springframework:spring-beans:jar:4.2.5.RELEASE:compile 
[INFO] +- org.springframework:spring-jdbc:jar:4.2.5.RELEASE:compile 
[INFO] +- org.springframework:spring-orm:jar:4.2.5.RELEASE:compile 
[INFO] +- org.springframework:spring-tx:jar:4.2.5.RELEASE:compile 
[INFO] +- org.springframework:spring-test:jar:4.2.5.RELEASE:compile 
[INFO] +- org.springframework:spring-context:jar:4.2.5.RELEASE:compile 
[INFO] | +- org.springframework:spring-aop:jar:4.2.5.RELEASE:compile 
[INFO] | \- org.springframework:spring-expression:jar:4.2.5.RELEASE:compile 
[INFO] +- org.springframework:spring-web:jar:4.2.5.RELEASE:compile 
[INFO] +- org.springframework:spring-webmvc:jar:4.2.5.RELEASE:compile 
[INFO] +- org.springframework.security:spring-security-web:jar:4.0.4.RELEASE:compile 
[INFO] | \- aopalliance:aopalliance:jar:1.0:compile 
[INFO] +- org.springframework.security:spring-security-config:jar:4.0.4.RELEASE:compile 
[INFO] +- org.springframework.security:spring-security-acl:jar:4.0.4.RELEASE:compile 
[INFO] +- org.springframework.security:spring-security-core:jar:4.0.4.RELEASE:compile 
[INFO] +- org.springframework.security.oauth:spring-security-oauth2:jar:2.0.9.RELEASE:compile 
[INFO] | +- commons-codec:commons-codec:jar:1.9:compile 
[INFO] | \- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.13:compile 
[INFO] |  \- org.codehaus.jackson:jackson-core-asl:jar:1.9.13:compile 
[INFO] \- junit:junit:jar:3.8.1:test 

私は完全に立ち往生しています。あなたたちの誰かがこれを解決する方法を知っていますか?

+4

「原因:java.lang.NoClassDefFoundError:org/dom4j/io/STAXEventReader 」というエラーメッセージが表示される 'jar'のバージョンが間違っている可能性があります。jarファイルのクラスを検索しようとします。もし見つからなければ 'STAXEventReader'クラスを含む' dom4j'の別のバージョンを検索してください。私はクラスを含むバージョン1.6を使用しましたので試してください – Hohenheim

+0

dom4j:dom4j:jar:1.6.1はjarが使用されており、hibernate core 5.1.0.finalによって追加されています。私はクラスがこのバージョンにも存在することを確認しました。私はこの瓶を除外し、1.6を含めるべきですか? @Hohenheim – Manish

+0

私の場合はそれが働いて、それもあなたのために望むので、試してください – Hohenheim

答えて

6

Hohenheimのおかげでバージョンの問題を指摘しました。

Hibernate core 5.1.0.Final include dom4j-1.6.1 jar which throws this error. To fix this, need to exclude dom4j-1.6.1 from hibernate-core and include dom4j-1.6 in your pom.

私はこれが起こっている正確な理由を見つけることができません。

これは、hibernate依存関係でdom4jをpomから除外した方法です。

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-core</artifactId> 
    <version>5.1.0.Final</version> 
    <exclusions> 
     <exclusion> 
      <artifactId>jta</artifactId> 
      <groupId>javax.transaction</groupId> 
     </exclusion> 
     <!-- Exclude SLF4j to avoid version conflicts (we have 1.6.6, this drags 
       in 1.6.1) --> 
     <exclusion> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-api</artifactId> 
     </exclusion> 
     <!-- Exclude dom4j to avoid version conflicts (we have 1.6, this drags 
       in 1.6.1) --> 
     <exclusion> 
      <groupId>dom4j</groupId> 
      <artifactId>dom4j</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 
0

私はアイビー依存性マネージャを使用し、私の場合、私は、コアの依存からのdom4jを削除し、再度、最後のバージョン1.6.1を追加し、それは私のために働きました。私の場合は

<dependency org="org.hibernate" name="hibernate-core" rev="5.2.8.Final"> 
    <exclude org="dom4j"/> 
</dependency> 

<dependency org="dom4j" name="dom4j" rev="1.6.1"/> 
0

私はそれがのpom.xmlに、このバージョンを設定し解決する、同じ問題を持つ:

  • Spring version 4.3.7.RELEASE
  • Hibernate version 4.1.9.Final

I 全く<exclusions>を使用did'tと私はバージョン1.4でDOM4Jを追加しました。

<dependency> 
    <groupId>dom4j</groupId> 
    <artifactId>dom4j</artifactId> 
    <version>1.4</version> 
</dependency> 
0

私のシナリオでは、同じスタックトレース、私は成功せずに答えた。明らかにjarファイルが破損していたため、解決策は.m2/repositoryからdom4jを削除することでしたが、もう一度ダウンロードした後に問題は修正されました。

関連する問題