在我当前的项目中,我需要在运行时编译 java 代码(在后台处理来自用户的输入)。这适用于类路径中的 tools.jar。然而,并不是我程序的所有用户都在他们的系统上安装了 JDK。其中一些只有 JRE,在这种情况下,运行时没有可用的 Java 编译器。我可以通过将来自 Sun 的 tools.jar 作为我的工具的一部分来解决这个问题。
但是 tools.jar 非常大 (>12 MB)。 问题是我必须包含大 jar 文件,尽管我只对这个 jar 提供的一小部分功能感兴趣。
是否有可能分解 tools.jar 文件,这样我就有了 类的小子集 编译java代码需要 只要?
这是违法的吗?
非常感谢。
最佳答案
Eclipse 编译器只有 1.6 MB,应该可以在没有 Eclipse 的情况下工作。可以下载here .它看起来也实现了 JavaCompiler API。
它是根据 Eclipse 公共(public)许可证获得许可的,因此将它包含在您自己的应用程序中应该没有问题。
关于运行时的 Java 编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3537427/