我目前正在创建一个个人(可能是公共的)java终端。我想创建一个命令,在执行时创建+编译一个Java文件,除了我不太确定如何实际执行此操作。可能吗?或者我只是在做梦?
答案 0 :(得分:1)
您也可以使用Groovy - 如果您只想在应用程序中编译和运行一行或两行Java代码,这非常方便。应用程序可以是常规Java,Groovy仅用于编译动态生成的代码。无论您选择哪种解决方案,都要小心,因为执行用户输入代码会导致安全问题(注入攻击的漏洞)。
答案 1 :(得分:1)
编译Java文件
请参阅STBC。它使用JavaCompiler
编译文本区域中的代码。
答案 2 :(得分:0)
我同意@ee的评论javax.script
可能非常适合您的项目,脚本代码比Java代码更容易处理。我以前成功地使用它来获取插件API,我不记得在启动和运行时遇到任何问题。
我所知道的大多数在运行时编译真实Java的项目使用Eclipse compiler来执行此操作。 Java 6 javac
也可以通过编程方式完全访问。我自己从未使用过这两种方法。如果需要,可以通过Commons-JCI访问这两个和其他一些编译器。