Java 如何在JBoss6中使用番石榴
我正试图在我的项目中使用番石榴,在启动JBoss时,有很多警告:Java 如何在JBoss6中使用番石榴,java,guava,jboss6.x,Java,Guava,Jboss6.x,我正试图在我的项目中使用番石榴,在启动JBoss时,有很多警告: WARN [ClassLoaderManager] Unexpected error during load of:com.google.common.base.Equivalences$Equals: java.lang.IncompatibleClassChangeError: class com.google.common.base.Equivalences$Equals has interface com.google.
WARN [ClassLoaderManager] Unexpected error during load of:com.google.common.base.Equivalences$Equals: java.lang.IncompatibleClassChangeError: class com.google.common.base.Equivalences$Equals has interface com.google.common.base.Equivalence as super class
WARN [ClassLoaderManager] Unexpected error during load of:com.google.common.base.FunctionalEquivalence: java.lang.IncompatibleClassChangeError: class com.google.common.base.FunctionalEquivalence has interface com.google.common.base.Equivalence as super class
WARN [ClassLoaderManager] Unexpected error during load of:com.google.common.collect.AbstractMapBasedMultiset$1$1: java.lang.IllegalAccessError: class com.google.common.collect.AbstractMapBasedMultiset$1$1 cannot access its superclass com.google.common.collect.Multisets$AbstractEntry
[...]
根据我的研究,它似乎与旧的谷歌收藏不兼容。
此线程来自建议使用jboss scanning.xml。我没有更改,JBoss文档指定此文件用于过滤注释
您是否已经遇到此问题
你能提出一个解决方案吗?你说得对,google collections和番石榴是不兼容的,它在以下网站上有明确的说明: 番石榴是旧谷歌收藏的完全兼容的超集 图书馆。它还包括多年的bug修复、文档修复和 性能修复,因此我们强烈建议您改用番石榴 谷歌收藏 如果您的应用程序最终同时使用google-collect-1.0.jar和 在同一类路径上,只需删除Google 你会没事的如果不删除它,则会删除它 要么会导致可怕的问题(如果它出现在美洲番石榴之前) 类路径)或甚至永远不会被看到(如果它出现在后面) 所以基本上:要么从类路径中删除google集合,要么确保首先加载guava