0

您如何解决以下警告

warning: [options] bootstrap class path not set in conjunction with -source 8

当使用内部JavaCompiler

示例代码(根据我的源代码稍作修改):

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); 
JavaCompiler.CompilationTask task = compiler.getTask(null, null, null, compilerOptions, null, javaFileObjects);
task.call();

我尝试的显而易见的事情是-bootclasspathcompilerOptions上面的示例代码中提供。但是您只能在Option.OptionGroup.BASIC组中提供选项(事实并非如此)。

编辑:更多信息:我正在使用 OpenJdk11,我收到了最多 10 个源的警告。

4

1 回答 1

1

从编译器中,您可以获得一个文件管理器来设置引导类路径:

StandardJavaFileManager fileManager = compiler.getStandardFileManager(diagnostics, null, null);
List<File> filePaths = ...;
fileManager.setLocation(StandardLocation.PLATFORM_CLASS_PATH, filePaths);

https://docs.oracle.com/javase/8/docs/api/javax/tools/StandardJavaFileManager.html#setLocation-javax.tools.JavaFileManager.Location-java.lang.Iterable-

https://docs.oracle.com/javase/8/docs/api/javax/tools/StandardLocation.html#PLATFORM_CLASS_PATH

于 2018-12-29T16:45:44.500 回答