Compiler un ensemble de fichiers Java dans une arborescence de répertoires avec le JSR 199 API compilateur
-
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.
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.