Какая разница между CLASSPATH "записями начальной загрузки" и "пользовательскими записями" в Eclipse?
Eclipse имеет экран Run Configurations с вкладкой Classpath.
У меня были некоторые баночки, перечисленные в разделе "пользовательские записи" этой вкладки, но мой проект не запускался, пока я не дублировал эти файлы jar в разделе "загрузочные записи". После того, как банки были указаны в обоих разделах, проект успешно выполнен.
Почему?
Какая разница между этими двумя разными категориями настроек Classpath?
Ответы
Ответ 1
Можете ли вы создать файл jar в обоих направлениях, извлечь их и сравнить. Мне ужасно интересно, изменился ли файл jar, когда вы добавили запись. Некоторая информация о загрузка классов может дать некоторую информацию. спецификация для файлов jar на самом деле не предлагает никаких советов.
Ответ 2
Разница заключается в порядке их спецификации в загрузчиках классов.
Путь класса bootstrap управляется загрузчиком классов верхнего уровня при запуске виртуальной машины, которая будет выполнять приложение. (Из командной строки это используется с использованием -Xbootclasspath)
Пользовательский путь к классам - это записи, управляемые загрузчиком классов приложений.
Любые записи в пути класса bootstrap имеют приоритет над траекторией класса пользователя.
Они инициализируются на основе проекта, содержащего приложение для запуска, но вы можете изменить их в конфигурации запуска для приложения, которое вы хотите запустить в eclipse.
Что касается того, почему это не сработало: какие были банки? Были ли они вещи, которые нужно было загружать из классов времени выполнения (например, замены библиотек XML-парсеров?)
Подробнее см. http://java.sun.com/j2se/1.4.2/docs/tooldocs/findingclasses.html.
- Скотт
Ответ 3
Один из них предназначен для проверки источников/классов в редакторе, другой для среды выполнения.
Я думаю.
Что, черт возьми, я в любом случае ушел сегодня.