【发布时间】:2013-03-08 21:49:42
【问题描述】:
我在我的 java 程序中生成一个动态类,方法是将所有代码写入 java 文件,将 java 文件编译成类文件,然后使用 URLClassLoader 加载类文件。这样做的问题是它在我的计算机上创建了很多文件。他们是一种只创建“虚拟文件”(文件对象)而不生成任何实际文件的方法吗,因为我这样做的方式需要时间并且看起来不干净且效率低下。
【问题讨论】:
-
但我不需要创建 .java 文件以便编译它
-
在@Affe 的链接中查看 JavaSourceFromString 示例以获取可能的解决方案。
-
没有特别要求 javax.tools.JavaFileObject 的实现代表磁盘上的实际文件,不,它可以只是内存中字符串的包装器。 (对不起,并不是要迟钝,只是现在太忙了,无法写出完整的答案,并认为如果我们为您指出正确的方向,您将能够在网络上找到一些对您有所帮助的教程出来。)
-
但是当我加载类时我需要一个类文件来加载它
标签: java file-io dynamic-compilation dynamic-class