我正在尝试使用 XML 文件进行签名操作。在这个过程中,我使用了 xmlSec 1.5 库。如果我在本地测试中运行代码,则该过程成功完成。但是,如果我在 Jboss 7.1 的战争中部署代码,我对 xmlSec 1.5 的依赖会被 Jboss 的模块依赖“xmlsec-2.0.8.redhat-1”覆盖,并且签名过程会失败。对于客户的请愿书,我可以排除 xmlsec Jboss 模块,但我不能用它来签名。所以,问题是:我怎么能指定一个给定的库版本只在部分代码中使用?
在这种情况下,两个依赖项的路径是相同的:org.apache.santuario,所以我不能使用它来指定库。
我正在尝试使用提供程序进行签名,但是,Jboss 再次为其 xmlsec-2.0.8 安全提供程序覆盖了我的 xmlsec-1.5 安全提供程序。有一些方法可以实例化一个提供者并将其添加到一组 java 提供者中以替换 Jboss 吗?