我使用以下方法获得JavaCompiler:
System.setProperty("java.home", "/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home");
javax.tools.JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();我试过这样做:
jdk1.8.0_144.jdk jdk1.8.0_162.jdk jdk-9.0.4.jdk jdk-10.jdk jdk-11.jdk
对于1.8.0,编译器从不工作,因为缺少以下文件:/Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home/lib/currency.data
对于1.8.0之后的每一个JDK,编译器总是为null。
我也只在tools.jar中找到了1.8.0。
有没有人知道让JavaCompiler工作的方法,不管是什么idk?
发布于 2018-04-07 21:18:35
确保您的module-info.java文件对jdk.compiler模块有要求:
module myModule {
requires jdk.compiler;
}如果
jdk.compiler模块可用,则此实现返回由该模块提供的编译器,否则返回null。
https://stackoverflow.com/questions/49711640
复制相似问题