Tworzę narzędzie, które będzie zapisywać pliki .java, a następnie (miejmy nadzieję) skompilować te pliki do plików .class. Wszystko w jednym procesie, użytkownik wybiera katalog plików, w którym zapisano wiele plików .java. Teraz chcę, aby program skompilował te pliki Java.Kompilowanie zewnętrznych plików .java z poziomu Java
12
A
Odpowiedz
14
JavaCompiler
jest twoim przyjacielem. Sprawdzić przykład, w jaki sposób można użyć API kompilator
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
będzie null
jeśli kod jest uruchomiony z JRE dokumentacji here
i tutaj. Potrzebuje JDK, który obejmuje tools.jar
.
Powiązane problemy
- 1. R z poziomu Java
- 2. Kompilowanie zewnętrznych plików JS z Cljsbuild w ClojureScript
- 3. Kompilowanie Java do kodu natywnego?
- 4. Kompilowanie projektu z inną zgodnością źródła java
- 5. Otwieranie dowolnego pliku z poziomu programu java
- 6. Jak ustawić umask z poziomu java?
- 7. Dostęp do Gmaila z poziomu Java
- 8. Skanowanie sprzętowe skanowania obrazów z poziomu Java
- 9. Tworzenie programu java do kompilowania plików .java
- 10. Kompilowanie i używanie klas Groovy z Java w czasie wykonywania?
- 11. Kompilowanie aplikacji MVC dla średniego poziomu zaufania
- 12. Gdzie java szuka plików?
- 13. Jak korzystać z wielowątkowości Java do odczytu z wielu plików?
- 14. JAVA element.getElementsByTagName Ogranicz do górnego poziomu
- 15. Eclipse - Czy można połączyć z plikiem z poziomu komentarza Java?
- 16. Kompilowanie tylko wybranych plików w Maven
- 17. Zdobądź domenę drugiego poziomu adresu URL (java)
- 18. Kompilowanie plików * .Rnw z knitr - bez Rstudio
- 19. Problem z kodowaniem plików kompilatora Java kompilacji
- 20. Struktura plików Java w pamięci?
- 21. Zarządzanie lokalizacją plików właściwości Java
- 22. Pobieranie plików za pomocą Java
- 23. VLC ginie, gdy zostanie wywołana z poziomu Java
- 24. Jaki jest najlepszy sposób zarządzania procesem uniksowym z poziomu java?
- 25. Jak włączać i wyłączać monitor z poziomu aplikacji Java?
- 26. Jak znaleźć i zabić uruchamianie Win-Processes z poziomu Java?
- 27. Jak uzyskać procent wykorzystania procesora systemu operacyjnego z poziomu java
- 28. Zapisywanie/otwieranie Java Obiekty plików
- 29. Kompilowanie klasy Java w pamięci za pomocą adnotacji `lombok` i Java JDK 8
- 30. Duży transfer plików z serwera HTTP z obsługą Java Java Rest API
Próbowałem tego i zastąpił "YouFileToCompile.java" bezwzględną ścieżkę teraz otrzymuję NullPointerException w: StandardJavaFileManager filemanager = compiler.getStandardFileManager (diagnostyka, null, null); (problem?) –
Brzmi jak zmienna 'kompilator' ma wartość' null'. Upewnij się, że masz poprawną instalację Java. Sprawdź to, aby uzyskać pomoc http://www.java.net/node/688208 – GETah
Czy musi to być plik .java? Jeśli mam kod w pliku .txt, czy nadal będzie działać? – JD9999