在我的当前项目中,我需要在运行时编译java代码(在后台处理来自用户的输入)。在类路径中,tools.jar可以很好地工作。然而,并非我的程序的所有用户都在他们的系统上安装了JDK。其中一些只有JRE,在这种情况下,运行时没有java编译器。我可以通过将Sun的tools.jar作为我工具的一部分来解决这个问题。
但是tools.jar非常大(>12 MB)。问题是我必须包含大jar文件,尽管我只对jar提供的功能的一小部分感兴趣。
非常感谢。
发布于 2010-08-21 11:53:35
Eclipse编译器只有1.6MB,无需Eclipse就可以工作。你可以下载它这里。此外,它似乎实现了JavaCompiler API。
它是在Eclipse公共许可证下获得许可的,因此将它包含在您自己的应用程序中应该没有问题。
发布于 2010-08-21 11:48:43
我认为分裂tools.jar是不可能的,也不应该包括tools.jar。
检查http://forums.sun.com/thread.jspa?threadID=5161541
您可以查找一些第三方Java编译器,并将您的代码更改为使用它。
但我不知道用这些来编译的确切代码。
发布于 2010-08-21 12:09:47
我不会在运行时编译代码,而是用脚本语言重写代码并使用脚本框架。因此,jdk没有必要,也没有任何法律问题需要解决。然后,您还可以使用多种语言,如贝贝、JavaScript或jython。
https://stackoverflow.com/questions/3537427
复制相似问题