繁体   English   中英

在java方法中重新编译源代码?

[英]recompile source code in java method?

当前想要制定一些功能,例如使用Jpanel编辑源代码并重新编译它。

使用Java.swing执行基本Java游戏的基本理想。 我不仅想展示游戏,还想通过按一下按钮来展示部分代码。 该代码将显示出来,并允许用户进行编辑,然后用替换原始代码进行保存。

要执行的具有挑战性的功能是,如何通过按Jpanel中的一个按钮来重新编译系统? 我发现要替换原始代码并重新编译时会遇到困难。

Java中有什么想法可以执行这种功能吗? 将不胜感激任何评论和准则。 谢谢

参见JavaCompiler 在类路径上需要JDK。

要回答您的问题,您将在代码中调用javac,并将解释器的输出写入到代码的另一部分将使用自定义类加载器加载它的地方。

为了回答您的元问题,如何防止恶意用户输入破坏性代码? 游戏具有配置文件和脚本语言可能是有原因的。 您希望人们能够修改游戏的某些参数,而不是其他参数。

您正在寻找的技术称为“ 热交换” 您可以使用某些调试钩子在JVM中完成此操作,例如, 在此处

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM