我得到了这个例外:
SELECT table1.id from table1,table2 where table1.id = table2.id and table2.company like '%My Company%'
为什么呢?有两个包含Logger类的jar。罐子是:
-jboss-logging-spi和jboss-logging
Jboss-logging-spi.jar是jbosscache-core.jar的传递依赖项,不幸的是它首先被Tomcat 8加载。
解决此问题的最佳方法是什么?是否可以控制Tomcat加载.jars的顺序?
其他信息:
- 当前的.war文件我无法在新服务器(Ubuntu)上运行它正在使用旧服务器(OpenSuse)。
答案 0 :(得分:2)
解决此问题的最佳方法是什么?
消除重复的类。 期间的。没有其他建议。通过类加载顺序屏蔽问题将会在以后弹出类似的问题,从而使维护更加困难。
一个应用程序永远不会包含同一个类的两个冲突实现(甚至两个相同的实现)。如果其中一个类位于(appserver-)全局类路径上:从那里删除它。
答案 1 :(得分:0)
可以通过滥用Tomcat中的resources
工具在Tomcat中完成显式JAR排序。在这里,我不打算给出完整的答案,因为(a)它是非常不推荐的,(b)你最好真正知道你在做什么才能做到。
所以,简单地说:
<PreResources>
强制一个或多个库位于行的前面