Как мы можем узнать, вызывается ли класс версии jar или локальная копия во время выполнения - PullRequest
1 голос
/ 06 декабря 2011

У меня есть тот же файл класса в моей рабочей области, а также в файле jar (который я импортировал) Как я могу узнать, какой файл вызывается во время выполнения ??

Я в замешательстве, потому что в Eclipse, когда я нажимаю Открытое объявление на экземпляре, он показывает версию jar. И когда я держал некоторые системные выходы на локальной копии, они назывались ??

Скажите, пожалуйста, как я могу узнать, какой файл вызывается ??

Я говорил об этом коде:

Props.getProperty(clientID + ".MetaPI", true);

Этот класс Props существует как в jar, так и в локальной копии.

Ответы [ 4 ]

1 голос
/ 06 декабря 2011

попробуйте что-то вроде этого:

System.out.println(this.getClass().getProtectionDomain().getCodeSource().getLocation().toURI().getPath());
1 голос
/ 06 декабря 2011

все, что находится на вашем пути к классам, должно быть вызвано, в идеальном случае это должна быть папка классов, следовательно, ваш файл классов.

0 голосов
/ 06 декабря 2011

Возможно, это поможет:

this.getClass().getProtectionDomain().getCodeSource().getLocation();
0 голосов
/ 06 декабря 2011

Вы можете запустить ваше приложение с помощью java -verbose. Это регистрирует, какие классы загружаются загрузчиком классов

...