我想加载特定于 Java 版本的JavaCompiler
.
这就是我目前采用编译器实例的方式:
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
我的目标是根据最初编写的 Java 版本(Java 8 或 Java 13)编译“用户 Java 代码”。
我正在用 Java 8 构建我的整个源代码。
因此compiler
,我得到的实例将是 Java 8 特定的,我无法编译 Java 13 代码(如果我错了,请纠正我)。
我安装了 Java 8 和 Java 13。
我从这篇文章中阅读了以下声明
ToolProvider 在这种情况下定位默认编译器。也可以通过使用服务提供者机制来定位替代编译器或工具。
有什么方法可以加载特定于 Java 版本的 Java 编译器?有解决方法吗?
或者,如果我使用 Java 13 构建项目,我可以使用Java 13 编译器的--target
or--source
或--release
参数来编译特定于版本的版本吗?