Как добавить каталог в путь к классам eclipse?

Я пытаюсь запустить уже существующий проект eclipse, созданный другим человеком.
После импорта его в eclipse и попытки запустить как - >Java-приложение, он терпит неудачу, потому что не может найти.файл свойств в bin / resources

я распечатал путь к классам, который использовал eclipse

logger.info(System.getProperty("java.class.path"));

и, конечно же, он включает в себя bin и все lib/*.банки, но не bin / resources. Копирование .свойства файла в bin заставляет программу работать, но я хотел понять, как добавить каталог в путь к классам eclipse.

Я пробовал несколько вещей, ни одна из которых не работала

export CLASSPATH=$CLASSPATH:/home/me/programdir/bin/resources

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

затем я попытался изменить аргументы VM в диалоговом окне Run - >Configuration в Затмение

-classpath "/home/me/programdir/bin/resources"

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

затем я попытался изменить сборку.xml напрямую. Я нашел часть, которая определяет путь к классам, и добавил свою собственную строку для bin / resources следующим образом:

<path id="classpath">
    <fileset dir="./bin/resources" includes="**/*.properties"/>
    <fileset dir="./lib" includes="**/*.jar" /> 
</path>

это тоже не удалось. Это озадачило меня еще больше, поэтому я прокомментировал весь путь элемент, а classpath распечатана регистратор был неизменным, поэтому очевидно, что независимо от classpath в Eclipse был, но точно не эту. Это казалось мне лучшим решением, если бы оно сработало: сборка.xml-файл может быть проверен с правильными добавлениями, чтобы предотвратить будущие пользователи от возникновения проблемы.

затем я попробовал подход IDE. Выполнить - > конфигурации - >путь к классам - > записи Пользователя - >Дополнительно и просто добавил папку bin / resources. Что работал отлично, программа находит файл свойств, все хорошо. Однако я недоволен тем, что мои предыдущие усилия не увенчались успехом, хотя я и не понимал почему. Кажется, каждый из них должен был сработать.

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

как вы находите фактическое определение, которое eclipse использует для своего пути к классам? Я думал, это будет стройка.определение XML classpath, но это, похоже,не так.

4 ответов


в Eclipse есть путь к классам сборки и путь к классам среды выполнения. Существует также расположение вывода сборки, которое по умолчанию является bin. Вы не хотите добавлять ресурсы непосредственно bin потому что Eclipse может удалить его содержимое при выполнении чистой сборки. Что вам нужно сделать, это добавить resources папка в вашем проекте, чтобы содержать любые файлы не Java, которые вы хотите включить в вывод сборки.

включить содержимое этого resources папка в выходных данных сборки (bin), щелкните правой кнопкой мыши проект и выберите Свойства. В свойствах проекта выберите Путь Сборки Java, потом источник tab.

enter image description here

использовать Добавить Папку... кнопка для выбора resources папка из вашего проекта, затем OK сохранить изменения. В этот момент Eclipse автоматически скопирует все из resources на bin, когда он строит.


Это для проекта maven:

  1. щелкните правой кнопкой мыши на project
  2. нажмите на настройки запуска
  3. нажмите на вкладку classpath (Oxygen Eclipse)
  4. нажмите на записи пользователя
  5. нажмите на кнопку Дополнительно
  6. первый выбор радио по умолчанию должен быть "добавить папки"
  7. нажмите OK

выполните следующие действия, чтобы решить эту проблему:

  1. щелкните правой кнопкой мыши на Project
  2. нажмите Run As и выберите Run Configuration
  3. нажмите на вкладку classpath (Oxygen Eclipse)
  4. нажмите на записи пользователя
  5. нажмите на Добавить внешние банки.. и выберите загруженный файл JAR
  6. Нажмите кнопку Применить и запустите проект...

щелкните правой кнопкой мыши project-name на "Проводник Пакетов" выберите свойства выберите Путь Сборки Java слева выберите источник вкладка справа, нажмите на Добавить Папку, просмотрите каталоги проекта, чтобы выбрать папку ресурсов или все, что вам нужно добавить в путь к классам eclipse, нажмите OK снова ударил OK. Сделанный.