在运行时使用相同JAR的不同版本

时间:2016-10-21 14:06:19

标签: java jar

我有一个要求,我需要在运行时在我的应用程序中引用相同JAR的两个不同版本:在某些情况下fop.jar(v1.0)和在某些其他情况下fop 1.1.jar

我怎样才能做到这一点?

我无法动态加载它,因为没有它我的EAR将无法编译。

1 个答案:

答案 0 :(得分:1)

我刚刚以一种非常黑客的方式解决了这个问题。出于某种原因,我需要pdfbox的1.5和2版本。所以我将.jar文件的所有内容解压缩到一个临时目录中,然后使用Notepad ++搜索并替换我用urg.apache替换org.apache的文件和用urg / apache替换org / apache的文件(搞乱org.apache.commons我之后修复)然后将替换的文件压缩为新的.jar。 安装到maven与 mvn install:install-file -Dfile = pdfbux-1.5.0.jar -DgroupId = urg.apache.pdfbox -DartifactId = pdfbox -Dversion = 1.5.0 -Dpackaging = jar

在我的pom.xml中,我有2个依赖项。版本1.5使用urg.apache 在使用1.5的代码中我使用了import urg.apache ...

我知道这是一个疯狂的黑客,但它为我节省了很多时间