2009-04-19 13 views
12

Eclipse имеет экран Run Configurations с вкладкой Classpath.В чем разница между CLASSPATH «записями начальной загрузки» и «пользовательскими записями» в Eclipse?

У меня были некоторые банки, перечисленные в разделе «пользовательские записи» на этой вкладке, но мой проект не запускался, пока я не дублировал эти файлы jar в разделе «bootstrap entries». После того, как банки были указаны в обоих разделах, проект успешно работал.

Почему?

В чем разница между этими двумя разными категориями настроек Classpath?

ответ

2

Можете ли вы создать файл jar в обоих направлениях, извлечь их и сравнить. Мне ужасно интересно, изменился ли файл jar, когда вы добавили запись. Некоторая информация о class loading может дать некоторую информацию. specification for jar files на самом деле не предлагает никаких советов.

+1

«Сгенерируйте файл jar». Не уверен, что вы имеете в виду. –

+0

Интересно. Ссылка «Класс загрузки», которую вы указали, говорит: «При разрешении класса имя, среда выполнение ищет файлы в следующем порядке: 1. класс начальной загрузки путь 2. расширение 3. пользователя пути к классу» это, кажется, противоречит моему опыту, так как в моем случае, это, кажется, путь класса пользователя проигнорированному во время выполнения. –

+0

Как насчет отличных банок? Есть ли там какой-нибудь fuit? – ojblass

2

Один из них предназначен для проверки источников/классов в редакторе, другой для среды выполнения.

думаю.

Что, черт возьми, я все равно ушел сегодня.

+0

15400/200 = 77 дней ... хорошо ... Я думаю, что галочка должна двигаться в этом случае. :( – ojblass

+0

Ну, спасибо. Мой средний способ меньше, чем 200/день. –

6

Разница заключается в порядке их спецификации в загрузчиках классов.

Путь класса bootstrap управляется загрузчиком классов верхнего уровня при запуске виртуальной машины, которая будет выполнять приложение. (Из командной строки это используется с использованием -Xbootclasspath)

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

Любые записи в пути класса bootstrap имеют приоритет над траекторией класса пользователя.

Они инициализируются на основе проекта, содержащего приложение для запуска, но вы можете изменить их в конфигурации запуска для приложения, которое вы хотите запустить в eclipse.

Относительно того, почему это не сработало: какие были банки? Были ли они загружены из классов времени выполнения (например, для замены библиотек xml?)

Для получения более подробной информации см. http://java.sun.com/j2se/1.4.2/docs/tooldocs/findingclasses.html.

- Scott

 Смежные вопросы

  • Нет связанных вопросов^_^