Получение местоположения сгенерированного файла с помощью API компилятора - PullRequest
0 голосов
/ 25 мая 2019

Как я могу получить местоположение (путь) файла .class, созданного с помощью API компилятора? Т.е. файл составлен по CompilationTask.call()

Вот код:

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();

DiagnosticCollector<JavaFileObject> diagnostics = new DiagnosticCollector<>();

StandardJavaFileManager manager = compiler.getStandardFileManager(diagnostics, null, null);

File file = new File(System.getProperty("user.dir") + "/target/classes/tmp/" +"FileName.java");

Iterable<String> options = Arrays
            .asList(new String[] { "-d", System.getProperty("user.dir") + "/target/classes/" });

Iterable<? extends JavaFileObject> sources = manager.getJavaFileObjectsFromFiles(Arrays.asList(file));

CompilationTask task = compiler.getTask(null, manager, diagnostics, options, null, sources);

task.call();

manager.close();
...