我已经在这几天挣扎了几天,希望有人可以提供帮助。
当我的应用程序尝试构建我的Hibernate3 SessionFactory时,我收到以下错误:
...
org.hibernate.HibernateException: Could not parse configuration: hibernate.cfg.xml
...
Caused by: org.dom4j.DocumentException: org.dom4j.DocumentFactory cannot be cast to org.dom4j.DocumentFactory Nested exception: org.dom4j.DocumentFactory cannot be cast to org.dom4j.DocumentFactory
...
下面是我的/WEB-INF/jboss-web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<loader-repository>some.unique.package.name:archive=lvs.war
<loader-repository-config>java2ParentDelegation=false</loader-repository-config>
</loader-repository>
</jboss-web>
Hibernate在我的单元测试中运行良好,只有当我将它部署到测试服务器时才会发生这种情况。
从我发现的情况来看,这似乎正在发生,因为jboss已经有了dom4j的副本。
不,我无法从我的项目中删除dom4j,它将托管在服务器上的网络应用程序预计会使用所有自己的jar。
答案 0 :(得分:0)
尝试更改/检查服务器配置的值。
在server/xxx/deploy/jboss-web.deployer/META-INF/jboss-service.xml
中
尝试有两个属性
Java2ClassLoadingCompliance
UseJbossWebLoader
两者都是boolean
值并控制一些类加载器行为。
HTH。