Перефразируя комментарий :
[Как получить значение] вне Java-программы, например, в виде отдельного файла, который содержит все другие пути к файлам?
Это называется файл конфигурации .
Это часто файл свойств, похожий на файл конфигурации Log4j, но это может быть файл любого типа, например, XML, JSON, YAML, ...
Чтобы идентифицировать один такой файл, вы можете использовать:
- Переменная окружения (как вы сейчас)
- Системное свойство (более распространенное)
- Файл с определенным именем в текущем каталоге
- ...
Записи в этом файле идентифицируют все значения, которые вы действительно хотите.
Например, Spring, который представляет собой заполненный Java-фреймворк, будет искать конфигурацию значений во многих местах. Смотри 24. Внешняя конфигурация для полной информации, но вот краткий обзор наиболее распространенных:
-
- Аргументы командной строки, например,
java -jar MyApp.jar --foo=bar
-
- Свойства системы Java, например, установить с помощью
-Dfoo=bar
в командной строке
-
- Переменные среды ОС, например,
SET foo=bar
(Windows) или export foo=bar
(Linux)
-
- Свойства приложения вне вашего упакованного фляги, то есть относительно текущего каталога.
Имя и местоположение могут быть переопределены в командной строке.
config/application.properties
config/application.yaml
application.properties
application.yaml