运行具有重定向的某些JDK类的JAR

时间:2013-10-28 10:12:37

标签: java jar

我编写了一个List实现,在内部使用java.util.ArrayList和java.util.LinkedList。现在,我有一组JAR,我想动态加载然后从Java调用,但我的实现重定向到它使用LinkedList或ArrayList的任何地方。

有没有办法在不必将源代码下载到JAR,手动替换所有内容然后重新编译的情况下执行此操作?

1 个答案:

答案 0 :(得分:1)

您可以将Java安装复制到新位置,将代码编译为java.util.ArrayListjava.util.LinkedList(即使用类路径上的rt.jar编译代码)。

然后使用jar -u将新类放入rt.jar。由于rt.jar未签名,因此您无需修改​​任何其他内容。

这为您的Java安装副本提供了新的rt.jar。替换文件并使用新副本中的java启动项目。代码现在将提取您的版本。

根据您使用的Java版本,您还可以尝试设置"引导类路径"。使用替换类创建JAR并将它们放在此类路径中。 Documentation for Oracle's VM