不同罐子里的功能相同

时间:2009-05-27 15:11:23

标签: java soap conflict

我有一个问题,想知道是否有人遇到过与我相同的情况。

我将java版本从1.4升级到1.6,

java6包含soap包本身,这意味着我之前使用的轴soap libs不会被调用。例如,javax.xml.soap.SOAPMessage。

无论如何,我可以明确强制应用程序使用旧的soap功能,而不是java6中包含的功能,因为它不适用于我......

谢谢!

3 个答案:

答案 0 :(得分:2)

您可以使用endorsed mechanism。简而言之,您将要覆盖的库替换为目录中的标准库,告诉Java它在哪里,并在核心库之前加载这些库。

答案 1 :(得分:2)

Bishiboosh提到的认可机制(不幸的是)是要走的路。但是,可以编写覆盖其父级的ClassLoader。许多Java EE服务器都是这样做的。

希望JDK7有一个模块实现,这意味着不需要背书。

答案 2 :(得分:0)

您可以使用-Xbootclasspath / p选项启动JVM,并在您的Jars之前添加。但是,您应首先阅读您所使用的轴的版本是否适用于1.6以及推荐的配置是什么,因为如果存在真正的不兼容性,此解决方案可能会破坏其他内容。