0

我正在使用 jdk1.6 编译器 API 进行一些动态编译。
现在,我只是将所有需要的 jar 文件转储到磁盘,以便在编译时将它们包含在类路径中。
是否有某种技巧可以将内存中的 jar 文件直接放入类路径中?
我无法通过扩展 javax.tools.ForwardingJavaFileManager 来弄清楚如何做到这一点。
有人可以给我一些提示吗?
谢谢。

4

2 回答 2

0

I wrote my own FileManager which is entirely in memory. Using this approach to can load and even write results into an in-memory "file system"

https://github.com/OpenHFT/Java-Runtime-Compiler/blob/master/compiler/src/main/java/net/openhft/compiler/MyJavaFileManager.java

于 2014-06-27T05:13:39.733 回答
0

在此处阅读有关如何使用清单将 jar 文件添加到类路径的信息。

jar 中应该有一个META-INF文件夹,Manifest.mf 文件应该在 jar 的那个文件夹中。

还有一个选项可以放入 jar 文件,JAVA_HOME/lib/ext但这是一种不好的做法。除了您的应用程序之外,许多其他应用程序都可以使用 JRE,并且它们不需要在其类路径中包含您的类。

于 2014-06-27T03:05:43.377 回答