当前位置:  开发笔记 > 编程语言 > 正文

Java 5中动态编译的选项

如何解决《Java5中动态编译的选项》经验,为你挑选了2个好方法。

除了Janino之外,还有其他选项可以在v5中实时编译和执行Java代码吗?我知道v6有Compiler API,但我需要使用v5 VM.

我基本上需要获取一个包含完整Java类的字符串,编译它并将其加载到内存中.



1> MBCook..:

你想要的就像Janino.我们已经使用了很多年.你给它(接近标准)代码,它给你类,所以你可以使用它们.它实际上有很多不同的模式,并支持1.5语法糖和自动拳击等.

如果你打电话给javac,你不仅要为它所做的任何事情做好准备,你还必须处理把课程放在正确的地方或制作一个额外的类加载器.

Janino很容易.它应该是你正在寻找的.



2> TofuBeer..:

以编程方式调用javac:

http://www.juixe.com/techknow/index.php/2006/12/12/invoke-javac-at-runtime/

   com.sun.tools.javac.Main javac = new com.sun.tools.javac.Main();  

   String[] options = new String[] 
   {  
      "-classpath", classpath, "-d", outputDir, filename  
   };

   javac.compile(options);

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有