Код: Выделить всё
public class TestClass {
void foo() {
var x = java.nio.file.Path.of("SomePath").resolve("foo", "goo");
}
}
Код: Выделить всё
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
var diagnostics = new DiagnosticCollector();
var fileManager = compiler.getStandardFileManager(diagnostics, null, StandardCharsets.UTF_8);
var javaFileObjects = fileManager.getJavaFileObjectsFromFiles(List.of(file));
JavacTask task = (JavacTask) compiler.getTask(null, fileManager, diagnostics, opts, null, javaFileObjects);
var cus = task.parse();
Если бы мне нужно было разрешить символы для некоторых аннотаций junit, например, я бы предоставил компилятору "-classpath", "path/to/junit/junit.jar"
code>, и символ будет решено. Но, например, в Java 23 у меня есть только библиотека /path/to/jdk23/lib/jrt-fs.jar, и передача ее в путь к классам не решает проблему.
Похоже, что при работе на Java 17 я могу полагаться только на символы классов JDK17.
Есть ли какой-нибудь способ предоставить этому Javaкомпилятору различные библиотеки Java?
Подробнее здесь: https://stackoverflow.com/questions/792 ... -classpath
Мобильная версия