在我当前的项目中,我需要在运行时编译 java 代码(在后台处理来自用户的输入)。这适用于类路径中的 tools.jar。但是,并非我的程序的所有用户都在他们的系统上安装了 JDK。其中一些只有 JRE,在这种情况下,运行时没有可用的 java 编译器。我可以通过将 Sun 的 tools.jar 作为我的工具的一部分来解决这个问题。
但是 tools.jar 非常大(>12 MB)。问题是我必须包含大 jar 文件,尽管我只对这个 jar 提供的一小部分功能感兴趣。
是否可以分解 tools.jar 文件,以便我有一小部分仅用于编译 java 代码的类?
这是非法的吗?
非常感谢。