我们希望让用户能够编写我们在库运行时调用的小型Java方法。这些用户没有安装JDK,也不知道如何操作。但他们确实已经安装了Java并且正在运行我们的Java库。
我们可以通过我们的库发布一些最小的Java编译器吗?
答案 0 :(得分:4)
javac
编译器具有编程接口(由jshell
使用,除其他外)并且存在于Java 9及更高版本的模块java.compiler
和jdk.compiler
中。表达对这些模块的依赖关系并使用jlink
构建运行时。
答案 1 :(得分:0)
您可以通过反复试验来隔离某些可执行文件,我已经为jps
和jcmd
工具执行了此操作,以便为我的应用程序进行流程检查。
我很快就为javac
尝试了这个并设法正确编译,但希望这不是我的一些系统变量。
您需要一个像
这样的文件夹结构bin
-> javac.exe
-> jli.dll
lib
-> tools.jar
将代码放入bin文件夹并运行javac
请记住,运行javac所需的是依赖于操作系统的,并且在Windows上进行了测试。您可能需要为Linux等其他操作系统提供一些额外的文件,因为这是我遇到的问题之一。