Проверьте, существует ли класс в Java classpath без запуска его статического инициализатора?


Если я использую

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

статический блок инициализатора "Foo"запускается. Есть ли способ определить, является ли класс "мой.пакет.Foo " находится на пути к классу, не отключая его статический инициализатор?

1 57

1 ответ:

попробовать forName(String name, boolean initialize, ClassLoader loader) метод Class и установите параметр initialize до false.

JavaDoc link