使用Java文件中的代码编译Java文件

使用Java文件中的代码编译Java文件,java,compilation,Java,Compilation,我目前正在创建一个个人(可能是公共)java终端。我想创建一个命令,该命令将在执行时创建并编译一个Java文件,但我不太确定如何真正做到这一点。可能吗?还是我只是在做梦?我同意@eee的评论,即javax.script可能非常适合您的项目,脚本代码比Java代码更容易处理。我过去曾成功地将其用于插件API,我不记得在启动和运行时遇到过任何问题 据我所知,大多数在运行时编译真实Java的项目都使用。Java6javac也可以完全通过编程方式访问。我自己从来没有用过这两个。如果需要,可以通过访问这两

我目前正在创建一个个人(可能是公共)java终端。我想创建一个命令,该命令将在执行时创建并编译一个Java文件,但我不太确定如何真正做到这一点。可能吗?还是我只是在做梦?

我同意@eee的评论,即
javax.script
可能非常适合您的项目,脚本代码比Java代码更容易处理。我过去曾成功地将其用于插件API,我不记得在启动和运行时遇到过任何问题

据我所知,大多数在运行时编译真实Java的项目都使用。Java6
javac
也可以完全通过编程方式访问。我自己从来没有用过这两个。如果需要,可以通过访问这两个编译器和其他一些编译器。

您也可以使用-如果您只想从应用程序中编译和运行一两行Java代码,这非常方便。应用程序可以是普通Java,Groovy仅用于编译动态生成的代码。无论选择哪种解决方案,都要小心,因为以代码形式执行用户输入可能会导致安全问题(易受注入攻击)

编译Java文件


看。它使用来编译文本区域中的代码。

检查Java脚本javax.script技术;例如:真的有必要学习这一切吗?我现在不是在寻找任何先进的东西,因为我只是在学习它的基础知识。一旦一切就绪,我将升级我的所有代码,使其安全。不必学习所有代码,只需选择一些东西并进行操作即可。如果您使用的是Java 7,那么Andrew Thompson的答案可能就是要使用的。这是一个问题,因为我需要一段代码来编译一个完整的Java文件。在本例中,请查看Andrew Thompson的答案。您也可以尝试直接使用。即使在某个临时文件上调用javac可执行文件(您可以将源代码放在该文件中),也可以工作,但它并不像人们建议的其他解决方案那样优雅或可移植。