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

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

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

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

1 Ответ

81 голосов
/ 12 августа 2010

Попробуйте forName(String name, boolean initialize, ClassLoader loader) метод Class и установите для параметра initialize значение false.

Ссылка JavaDoc

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...