В чем разница между CLASSPATH “bootstrap entries” и “user entries” в Eclipse?
-
12-09-2019 - |
Вопрос
В Eclipse есть экран запуска конфигураций с вкладкой Classpath.
У меня были некоторые jar-файлы, перечисленные в разделе "записи пользователей" на этой вкладке, но мой проект не запускался, пока я не продублировал эти jar-файлы в раздел "записи начальной загрузки".После того, как jar были перечислены в обоих разделах, проект был успешно запущен.
Почему?
В чем разница между этими двумя разными категориями параметров Classpath?
Решение
Можете ли вы сгенерировать файл jar обоими способами, извлечь их и сравнить?Мне ужасно любопытно, изменился ли файл jar, когда вы добавили запись.Некоторая информация о загрузка класса это могло бы дать некоторое представление.Тот Самый спецификация для файлов jar на самом деле это не дает никаких подсказок.
Другие советы
Разница заключается в порядке их спецификации в загрузчиках классов.
Путь к классу начальной загрузки управляется загрузчиком классов верхнего уровня при запуске виртуальной машины, которая будет выполнять приложение.(Из командной строки это определяется с помощью -Xbootclasspath)
Пользовательский путь к классу - это записи, которыми управляет загрузчик классов приложения.
Любые записи в bootstrap classpath имеют приоритет над пользовательским classpath.
Они инициализируются на основе проекта, содержащего приложение для запуска, но вы можете изменить их в конфигурации запуска для приложения, которое вы хотите запустить в eclipse.
Относительно того, почему это не сработало:что это были за банки?Были ли это вещи, которые нужно было загружать из классов среды выполнения (например, библиотеки для замены синтаксического анализатора XML?)
Видишь http://java.sun.com/j2se/1.4.2/docs/tooldocs/findingclasses.html для получения более подробной информации.
-- Скотт
Один из них предназначен для проверки исходных текстов / путей к классам в редакторе, другой - для среды выполнения.
Я думаю.
Какого черта, я все равно сегодня на пределе сил.