Необходимо установить путь в качестве системного свойства для проекта Java.

У меня есть 2 файла свойств, которые являются частью моего проекта java eclipse. Теперь мне нужно передать путь к этим двум файлам в качестве системного свойства, такого как -Dpath1="pathfile1", поскольку проект будет принимать его только как системное свойство. Один из вариантов заключается в том, что я могу указать абсолютный путь, но я хочу указать путь относительно моего проекта, например, -Dpath1=$Project_Dir/resource/file1. Причина в том, что если каталог проекта будет перемещен, проект начнет давать сбой.

Я использую eclipse для запуска этого проекта и не хочу объявлять какую-либо новую системную переменную для поддержки относительного пути, поэтому, например, не хочу создавать новую системную переменную Project_Dir . Можно ли этого добиться и как?


person Lokesh    schedule 04.11.2013    source источник


Ответы (3)


Вы можете установить системные свойства с помощью:

System.setProperty("path1", yourPathHere);

Теперь вам нужно только построить правильный путь относительно того, где находится ваш проект. Для этого начните с расположения проекта: Как получить путь к работающему файлу JAR?

person Martijn Courteaux    schedule 04.11.2013

При использовании setProperty вы можете ссылаться на внутренние файлы проекта, если используете простой относительный путь.

Например. для ссылки на файл, расположенный в /abc/def/workspace/project/lib/driver.exe:

System.setProperty("driver", "lib/driver.exe");

Это обманчиво просто.

person forresthopkinsa    schedule 23.11.2016

Да, вы можете это сделать. Eclipse имеет встроенную переменную пути PROJECT_LOC, в ней хранится местоположение папки проекта, например. c:\Workspace\Project1. Вы можете использовать это свойство в конфигурации запуска.

person Alex Adas    schedule 04.11.2013