Compiler un ensemble de fichiers Java dans une arborescence de répertoires avec le JSR 199 API compilateur

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

  •  21-09-2019
  •  | 
  •  

Question

Je suis en train de compiler plusieurs fichiers en utilisant l'API de compilateur.

Dire que j'ai une structure de répertoire

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

Est-il possible de découvrir tous les fichiers Java et faire tout compilateur sans avoir recours à récursion dans tous les répertoires et de trouver tous les fichiers * .java?

EDIT: Ce que je suis en train de faire est de compiler toutes les classes que je reçois dans un arbre de répertoire. Ces classes sont indépendantes les unes des autres. Ensuite, je charge les classes et instancier certains objets de ces classes et appeler des méthodes. Aucun des classes doivent avoir principal.

Était-ce utile?

La solution

La classe javax.tools.JavaFileManager a list() méthode qui devrait faire l'affaire:

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

Utilisez le paramètre recurse pour inclure « et » sous-paquets juste parcourir la JavaFileObject de retour.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top