Compilazione di un insieme di file Java all'interno di una struttura di directory con la JSR 199 Compiler API

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

  •  21-09-2019
  •  | 
  •  

Domanda

Sto cercando di compilare molti file utilizzando l'API compilatore.

Dire che ho una struttura di directory

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

C'è un modo per scoprire tutti i file Java e farlo compilatore tutto senza ricorrere a recursing in tutte le directory e trovare tutti i file * .java?

EDIT: Quello che sto cercando di fare è compilare tutte le classi che ottengo in qualche albero di directory. Queste classi sono indipendenti l'uno dall'altro. Poi ho caricare le classi e creare un'istanza alcuni oggetti di queste classi e chiamare i metodi. Nessuna delle classi devono avere principale.

È stato utile?

Soluzione

La classe javax.tools.JavaFileManager ha un list() metodo che dovrebbe fare il trucco:

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

Utilizzare il parametro recurse per includere "sottopackage" e poi basta iterare il JavaFileObject restituito.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top