运行时的 Java 编译器

标签 java runtime tools.jar

在我当前的项目中,我需要在运行时编译 java 代码(在后台处理来自用户的输入)。这适用于类路径中的 tools.jar。然而,并不是我程序的所有用户都在他们的系统上安装了 JDK。其中一些只有 JRE,在这种情况下,运行时没有可用的 Java 编译器。我可以通过将来自 Sun 的 tools.jar 作为我的工具的一部分来解决这个问题。

但是 tools.jar 非常大 (>12 MB)。 问题是我必须包含大 jar 文件,尽管我只对这个 jar 提供的一小部分功能感兴趣。

  1. 是否有可能分解 tools.jar 文件,这样我就有了 类的小子集 编译java代码需要 只要?

  2. 这是违法的吗?

非常感谢。

最佳答案

Eclipse 编译器只有 1.6 MB,应该可以在没有 Eclipse 的情况下工作。可以下载here .它看起来也实现了 JavaCompiler API。

它是根据 Eclipse 公共(public)许可证获得许可的,因此将它包含在您自己的应用程序中应该没有问题。

关于运行时的 Java 编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3537427/

相关文章:

java - 尝试使用tools.jar-Gradle

java - 使用 ProcessBuilder 通过交互式 IO 运行 C 程序

java - 连接多个 arraylist 的字符串内容 VALUES 。奇怪的问题

java - 这段代码使用 "partial"for 循环还是 while 循环更好?

java - OpenGL ES - 虚线

eclipse - Gradle无法找到tools.jar

Python 从命令行读取文件并用非常大的文件剥离 "\n\r"

java - 运行时命令不再起作用

Java 运行时与操作系统调用

java - 无法找到 tools.jar