web-dev-qa-db-fra.com

Vérifiez si la classe existe dans Java classpath 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 lancer son initialiseur statique?

61
Epaga

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

lien JavaDoc

81
André