目前想要研究一些功能,例如使用Jpanel编辑源代码并重新编译它。
我使用Java.swing执行的基本java游戏。我只想按一下按钮就可以显示部分代码,而不仅仅是显示游戏。代码将显示并允许用户编辑,保存并替换原始代码。
即将推出的具有挑战性的功能是如何通过按下Jpanel中的一个按钮来重新编译系统?我想在替换原始代码并重新编译时有困难。
Java中的任何想法都可以执行此类功能吗?将在任何评论和指南上受到赞赏。谢谢
答案 0 :(得分:1)
见JavaCompiler。在类路径上需要JDK。
答案 1 :(得分:0)
要回答您的问题,您可以在代码中调用javac,并将解释器的输出写入代码的另一部分将使用自定义类加载器加载它的位置。
要回答您的元提问,有什么可以阻止恶意用户输入破坏性代码?游戏有一个配置文件,可能还有脚本语言。您希望人们能够修改游戏的某些参数,而不是其他参数。
答案 2 :(得分:0)
您正在寻找的技术是致电Hotswapping。您可以使用所描述的一些调试挂钩在JVM中完成此操作,例如here。