Есть ли способ узнать, какие классы загружен ClassLoader?

Я столкнулся с этой проблемой после полного удаления и последующей установки MySQL. В частности:

Library not loaded: /usr/local/opt/mysql/lib/libmysqlclient.20.dylib

Я даже не коснулся моего приложения Rails.

Переустановка mysql2 gem решила эту проблему.

$ gem uninstall mysql2
$ gem install mysql2 -v 0.3.18 # (specifying the version found in my Gemfile.lock)

[MySQL 5.7.10, Rails 4.0.0, Ruby 2.0.0, Mac OS X Yosemite 10.10]

13
задан Alex Miller 10 November 2009 в 02:02
поделиться

3 ответа

Имейте в виду, что использование

java -verbose

приведет к огромному объему вывода. Зарегистрируйте вывод в файл и затем используйте grep. Если у вас есть фильтр «тройник», вы можете попробовать следующее:

java -verbose | tee classloader.log
grep class classloader.log
15
ответ дан 1 December 2019 в 17:24
поделиться

Я не уверен. Но я вижу один способ сделать это. Хотя это может быть просто смешно. Вы можете попробовать аспекты и поставить точку для loadclass. Также может оказаться полезным аргумент jvm -verbose .

3
ответ дан 1 December 2019 в 17:24
поделиться

Вы можете создать свой собственный загрузчик классов и использовать его для загрузки во время модульного теста. Пусть ваш собственный загрузчик классов распечатывает, что он делает.

Или, если вы просто хотите узнать, какие классы загружены, выполните:

java -verbose:class
40
ответ дан 1 December 2019 в 17:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: