簡體   English   中英

從Java內部編譯外部.java文件

[英]Compiling external .java files from within Java

我正在制作一個將寫入.java文件,然后(希望)將這些文件編譯為.class文件的工具。 在一個過程中,用戶選擇一個文件目錄,其中寫入了多個.java文件。 現在,我希望程序編譯這些Java文件。

JavaCompiler是您的朋友。 此處查看文檔

這是一個有關如何使用編譯器API的示例

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
DiagnosticCollector<JavaFileObject> diagnostics = new DiagnosticCollector<>();
StandardJavaFileManager fileManager = compiler.getStandardFileManager(diagnostics, null, null);
Iterable<? extends JavaFileObject> compilationUnits = fileManager.getJavaFileObjectsFromStrings(Arrays.asList("YouFileToCompile.java"));
JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, diagnostics, null,
        null, compilationUnits);
boolean success = task.call();
fileManager.close();

如果代碼是從JRE運行的,則JavaCompiler將為null 它需要一個JDK,其中包括tools.jar

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM