我有一个在Tomcat 5.0中运行的旧版Web应用程序。
该Web应用程序在 WEB-INF / lib中 有两个jar,例如 Foo-2.0.jar 和 Bar-2.0.jar 。 Bar-2.0.jar 实际上包含一个 Foo-1.0.jar 。Bar也是一个无效的项目,意味着没有升级,没有源代码,但对于应用程序仍然很重要。
此应用程序的最新版本需要 Foo-2.0.jar 来完成其他操作。在类路径中同时具有 Foo-1.0.jar 和 Foo-2.0.jar 会产生冲突,特别是 ClassDefNotFound 类型的错误,在1.0中找不到以后在2.0中添加的类,等等。
在Eclipse中,简单的解决方案是右键单击 Project ,单击 Properties > Java Built Path > Order and Export, 然后将 Foo-2.0.jar 移到 Bar-2.0.jar 上方,以便首先解决。
如何在Tomcat的 WEB-INF / lib 中完成对jars的这种类路径排序?
将Foo-1.0.jar放入$ CATALINE_HOME / common / endorsed(或Foo-2.0.jar之后将在其他任何位置加载它)。