有没有办法用我们的程序发布Java编译器?

时间:2018-03-02 22:10:22

标签: java javac

我们希望让用户能够编写我们在库运行时调用的小型Java方法。这些用户没有安装JDK,也不知道如何操作。但他们确实已经安装了Java并且正在运行我们的Java库。

我们可以通过我们的库发布一些最小的Java编译器吗?

2 个答案:

答案 0 :(得分:4)

javac编译器具有编程接口(由jshell使用,除其他外)并且存在于Java 9及更高版本的模块java.compilerjdk.compiler中。表达对这些模块的依赖关系并使用jlink构建运行时。

答案 1 :(得分:0)

您可以通过反复试验来隔离某些可执行文件,我已经为jpsjcmd工具执行了此操作,以便为我的应用程序进行流程检查。

我很快就为javac尝试了这个并设法正确编译,但希望这不是我的一些系统变量。

您需要一个像

这样的文件夹结构
bin
-> javac.exe
-> jli.dll

lib
-> tools.jar

将代码放入bin文件夹并运行javac

请记住,运行javac所需的是依赖于操作系统的,并且在Windows上进行了测试。您可能需要为Linux等其他操作系统提供一些额外的文件,因为这是我遇到的问题之一。