【发布时间】:2014-03-16 15:00:09
【问题描述】:
我的申请有问题。为了解决这个问题,我不得不将应用程序从 jboss 4 迁移到 jboss 5。
在战争部署期间,我遇到了这个错误:
java.lang.LinkageError: loader constraint violation: when resolving field "DATETIME"
the class loader (instance of org/jboss/classloader/spi/base/BaseClassLoader) of the referring class,
javax/xml/datatype/DatatypeConstants, and the class loader (instance of <bootloader>)
for the field's resolved type, javax/xml/namespace/QName,
have different Class objects for that type
经过多次搜索,我发现这个错误就在这里,因为我在不同的包中有多次相同的类。一次在依赖包中(来自我的 pom.xml),一次由 jboss 提供。
所以,为了解决这个问题,我为我的依赖项“提供”了一个范围。
但我不明白为什么这个解决方案有效。我认为在应用程序中多次使用同一类是可行的。我知道这不是一件好事,但有了 jboss 4,它就可以了。
有人可以解释一下为什么它适用于 jboss 4 而不适用于 jboss 5。
感谢您的解释:)
【问题讨论】:
-
重复的类是什么?它重复到哪些包中?
-
你在哪里设置
提供 ,谢谢
标签: java jboss dependencies