Kompilien eines Satzes von Java -Dateien in einem Verzeichnisbaum mit der JSR 199 Compiler API

StackOverflow https://stackoverflow.com/questions/1576530

  •  21-09-2019
  •  | 
  •  

Frage

Ich versuche, viele Dateien mit der Compiler -API zu kompilieren.

Sagen Sie, ich habe eine Verzeichnisstruktur

.../program
   +/org
    +/foo
    |+ Main.java
    +/bar
     + Tools.java

Gibt es eine Möglichkeit, alle Java -Dateien zu entdecken und alles zu machen, was alles, ohne auf alle Verzeichnisse zurückzuführen zu sein und alle *.java -Dateien zu finden?

Bearbeiten: Ich versuche, alle Klassen zu kompilieren, die ich in einem Verzeichnisbaum bekomme. Diese Klassen sind unabhängig voneinander. Dann lade ich die Klassen und instanziiere einige Objekte dieser Klassen und rufe Methoden auf. Keiner der Klassen muss Hauptkurs haben.

War es hilfreich?

Lösung

Das javax.tools.JavaFileManager Klasse hat a list() Methode, die den Trick ausführen sollte:

Iterable<JavaFileObject> list(JavaFileManager.Location location,
                              String packageName,
                              Set<JavaFileObject.Kind> kinds,
                              boolean recurse)
                              throws IOException

Verwenden Sie das recurse Parameter, um "Unterpackungen" einzubeziehen und dann einfach über die zurückgegebene ITRETTET JavaFileObject.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top