63 votes

Vérifier si la classe existe dans le chemin de classes Java sans exécuter son initialiseur statique?

Si j'utilise

    try {
      Class.forName("my.package.Foo");
      // it exists on the classpath
   } catch(ClassNotFoundException e) {
      // it does not exist on the classpath
   }
 

le bloc d'initialisation statique de "Foo" est lancé. Existe-t-il un moyen de déterminer si une classe "my.package.Foo" se trouve sur le chemin de classe sans désactiver son initialiseur statique?

81voto

André Points 1107

Essayez la méthode forName(String name, boolean initialize, ClassLoader loader) de Class et définissez les paramètres initialize false .

Lien JavaDoc

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X