.java dosyaları yazacak bir araç hazırlıyorum (umarım) bu dosyaları .class dosyalarına derleyin. Hepsi bir arada, kullanıcı çoklu .java dosyalarının yazıldığı bir dosya dizini seçer. Şimdi programın bu Java dosyalarını derlemesini istiyorum.0 Java içinden harici .java dosyalarını derleme
12
A
cevap
14
JavaCompiler
arkadaşınız. Burada dokümantasyon here
Ve kod JRE gelen çalışıyorsa null
olacak derleyici 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();
4
JavaCompiler
kullanabilirsiniz nasıl bir örnek kontrol edin. tools.jar
'u içeren bir JDK'ya ihtiyaç duyar.
Bunu denedim, ve mutlak bir yol ile "YouFileToCompile.java" yerini şimdi bir NullPointerException olsun: (null, null, teşhis) StandardJavaFileManager filemanager = compiler.getStandardFileManager; (sorun?) –
"Derleyici" değişkeni "null" gibi görünüyor. Doğru bir Java kurulumuna sahip olduğunuzdan emin olun. Yardım için şuna bakın: http://www.java.net/node/688208 – GETah
.java dosyası olmalı mı? Bir .txt dosyasında kodum varsa, hala çalışır mı? – JD9999