SpringBoot не может прочитать application.properties при запуске вне папки jar - PullRequest
0 голосов
/ 15 сентября 2018

Я создал приложение SpringBoot и поместил файл application.properties в ту же папку файла jar. Это содержимое файла:

server.port=8081

Когда я запускаю / bin / java -jar /opt/apl/org.web.exemplo-java-maven.1.0.0-90/org.web.exemplo-java-maven-1.0.0-90.jar вне папки jar он не читает application.properties и запускает программу через порт 8080.

Когда я запускаю / bin / java -jar /opt/apl/org.web.exemplo-java-maven.1.0.0-90/org.web.exemplo-java-maven-1.0.0-90.jar внутри папки jar (или внутри любой папки с application.properties) он читает файл и запускается через порт 8081.

Что происходит? Я думал, что файл свойств должен быть в том же месте, что и файл jar. Но бывает так, что он должен находиться в той же папке, где я запускаю команду.

1 Ответ

0 голосов
/ 15 сентября 2018

По соглашению при запуске приложения Spring Boot ищет файл application.properties в корневом каталоге classpath, например верхний уровень структуры каталогов в вашем JAR-файле. Вы можете настроить это поведение и настроить другое расположение application.properties, используя свойство среды, специфичное для Spring, при запуске приложения из cmdline:

/bin/java -jar /opt/apl/org.web.exemplo-java-maven.1.0.0-90/org.web.exemplo- 
java-maven-1.0.0-90.jar --spring.config.location=classpath:/other- 
application.properties

Проверьте это: https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-application-property-files

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...