[JAVA] Obtenez une liste de classes dans un package spécifique à Guava

Essayez d'obtenir la classe sous un package spécifique à l'aide de com.google.common.reflect.ClassPath.

pom.xml

<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>23.0</version>
</dependency>

La méthode getTopLevelClassesRecursive récupère de manière récursive les classes des packages sous le package spécifié. Si vous souhaitez simplement obtenir la liste des classes dans le package spécifié, utilisez la méthode getTopLevelClasses.

ClassLoader loader = Thread.currentThread().getContextClassLoader();

try {
    Set<Class<?>> classes = ClassPath.from(loader)
            .getTopLevelClassesRecursive(getClass().getPackage().getName()).stream()
            .map(info -> info.load())
            .collect(Collectors.toSet());

    classes.forEach(System.out::println);
} catch (IOException e) {
    // TODO
}

Recommended Posts

Obtenez une liste de classes dans un package spécifique à Guava
Obtenez le chemin défini dans la classe Controller de Spring Boot sous forme de liste
Obtenir une liste d'informations MBean pour les applications Java
Extraire un élément spécifique de la liste des objets
Vérifiez la dépendance d'un artefact maven spécifique dans Coursier
Un programme qui compte le nombre de mots dans une liste
Obtenez une instance proxy du composant lui-même dans Spring Boot
Java, JS (jQuery) et Ajax. Obtenez une valeur spécifique de JSON.
Une liste de rawValues pour UITextContentType.
Trier la liste des objets Java
Liste des membres ajoutés dans Java 9
Convertir un tableau de chaînes en une liste d'entiers en Java
Obtenez l'URL publique du fichier privé de Flickr en Java
Comment afficher une liste de chaînes dans JSF sous forme de chaînes séparées par des virgules
Restez coincé dans un Java Primer
Liste des types ajoutés dans Java 9
Obtenir une liste de fichiers S3 avec ListObjectsV2Request (AWS SDK for Java)
Ayons une idée approximative des différences entre protocoles, classes et structures!
[Java] Comment accéder au début d'une chaîne spécifique à l'aide de la classe String
Comment obtenir le chemin absolu d'un répertoire s'exécutant en Java
Obtenez le résultat de POST en Java
[Java] Obtenez le jour d'un jour spécifique
[rails] Liste des actions définies dans Controller
Résumé des classes racine dans différentes langues
Créer une liste qui contient plusieurs classes
Comment obtenir l'ID d'un utilisateur qui s'est authentifié avec Firebase dans Swift
Coincé devant le forgeron par enum
À propos de l'idée des classes anonymes en Java
Définir l'heure de LocalDateTime à une heure spécifique
Enregistreur de rails Obtenez une idée approximative en 1 minute
Un examen rapide de Java appris en classe
Obtenez une liste des autres sessions du même utilisateur lorsque vous utilisez Redis Session avec Spring Boot (série 2). Jetez-le également.