从特定的 jar 文件中引用一个类

Rog*_*296 2 java conflict jar

我在我的程序中陷入了相当尴尬的境地。情况是……我的项目在类路径中有一些 A.jar 文件,其中包含许多重要的实用程序类A.jar。 .. 现在,我需要来自 ServletResponse I/F的方法request.setCharacterencoding()&response.setCharacterEncoding但这A.jar包含旧版本ServletResponse并且由于它我没有得到上述两种方法..现在我已经servlet-api.jar在类路径中引入了新的但我的项目仍在参考servletRespons来自A.jar而不是来自 new的e 类servlet-api.jar

你们可以,请给我建议的方式来获得新的参考servletResponse距离servlet-api.jar,而不是a.jar文件

(PS:我无法删除/修改A.jar)

谢谢...

Laz*_*key 5

运行 jar 文件时,使类路径反映要加载的 jar 的顺序。让我知道您是否需要精确的语法,但一般来说,如果您有 CLASSPATH=patch16.jar:patch15.jar:patch14.jar:... 等,它将加载类的第一个匹配副本,从 patch16 开始.jar 然后 patch15.jar 等。

有关确切语法的更多信息:http : //javarevisited.blogspot.com/2011/01/how-classpath-work-in-java.html

  • -1 这没有回答这个问题:重新排列类路径没有帮助,因为存在交叉依赖 (2认同)