从java文件编译另一个java文件

从java文件编译另一个java文件,java,jakarta-ee,java-6,java-5,Java,Jakarta Ee,Java 6,Java 5,只是出于好奇。我们可以从另一个java程序编译并运行一个java文件吗? 如果是这样,您可以发送对该知识源的引用吗?您可以通过调用cmd提示符或使用Java代码中的Main类来完成 我记不清是怎么回事,但我很久以前就做过了。如果文件中已经有java源代码,那么可以调用java编译器。从1.6版开始,java编译器内置于JVM库中 没有仔细阅读,但可能会有所帮助。如果您使用的是Java 6,最好的方法是通过接口 如果您使用的是较旧版本的Java,则必须使用Runtime.exec()直接调用jav

只是出于好奇。我们可以从另一个java程序编译并运行一个java文件吗?
如果是这样,您可以发送对该知识源的引用吗?

您可以通过调用cmd提示符或使用Java代码中的Main类来完成


我记不清是怎么回事,但我很久以前就做过了。

如果文件中已经有java源代码,那么可以调用java编译器。从1.6版开始,java编译器内置于JVM库中


没有仔细阅读,但可能会有所帮助。

如果您使用的是Java 6,最好的方法是通过接口


如果您使用的是较旧版本的Java,则必须使用
Runtime.exec()
直接调用
javac
,然后通过子类化
ClassLoader
并重写
findClass
加载类数据。是的,您可以,但您需要Java编译器,而不仅仅是Java运行时。首先生成源代码,保存它,然后使用动态类加载(教程)

看一看并举一个小例子。

您可以使用javac(需要JDK):

这里有一个链接,解释如何从Java代码内部调用编译器: