Вывести приложение из приложения. - PullRequest
0 голосов
/ 23 апреля 2019

У меня есть проект с demoApp, у которого есть application.properties в папке

/src/main/resources

Теперь я хочу сохранить application.properties в каком-либо месте, например:

C:\Users\lenovo\Desktop\externalResource\resources

Я пробовал какую-то работу, такую ​​как установка местоположения конфигурации в файле setenv.bat, например

set spring.config.location=C:\Users\lenovo\Desktop\externalResource\resources\

Также используется для установки пути в системной среде:

CONF_DIR =  C:\Users\lenovo\Desktop\externalResource\resources\

и попробуйте получить доступ к коду, например:

   public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
    PropertySourcesPlaceholderConfigurer propertySource = new PropertySourcesPlaceholderConfigurer();
    ClassPathResource[] resource = new ClassPathResource[]{new ClassPathResource("file:${CONF_DIR}/application-external.properties")};
    propertySource.setLocations(resource);
    propertySource.setIgnoreUnresolvablePlaceholders(true);
    return propertySource;
}

Ни одно из предыдущих решений не сработало для меня, которые были представлены в предыдущем вопросе. Что мне здесь не хватает?

1 Ответ

0 голосов
/ 23 апреля 2019

Здесь вы можете найти несколько советов по использованию внешних конфигурационных файлов: https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html

Например:

$ java -jar myproject.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties

Обновление:

Пожалуйста, проверьте, может ли этот фрагмент помочь вам: https://stackoverflow.com/a/44442786/974966

Кроме того, если вы хотите сохранить текущую реализацию, попробуйте прочитать ${CONF_DIR} перед ее использованием: final String confDir = System.getenv("CONF_DIR")

А потом,

ClassPathResource[] resource = new ClassPathResource[]{new ClassPathResource("file:"+ confDir +"/application-external.properties")};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...