#java #spring #gradle
#java #spring #gradle
Вопрос:
Я пытаюсь использовать аргумент spring profile для запуска файла jar, профиль не работает:
java -jar -Dspring.profiles.active="test" build/libs/moley2-0.0.1-SNAPSHOT.jar
Вот мое приложение.yml-файл:
spring:
profiles: dev
server:
port:8000
---
spring:
profiles: test
server:
port:9000
Jar был создан с использованием gradle build
в корневом каталоге проектов. Запуск jar с предоставленной командой начинается с порта 8080, поэтому кажется, что профиль не загружается. Я уверен, что здесь мне не хватает чего-то простого, поскольку я новичок в gradle / spring. Заранее спасибо за любые предложения.
Комментарии:
1. Вы уверены, что
gradle build
создаете файл jar?2. да, я имею в виду, что команда выполняется нормально, я не думаю, что это было бы без действительного файла jar. Просто не загружает профиль, пока порт не останется на 8080
3. Удалите те
"
, которые не должны быть включены, и лучше использовать обычный аргументjava -jar build/libs/moley2-0.0.1-SNAPSHOT.jar --spring.profiles.active=test
Ответ №1:
Сервер свойств должен быть:
server:
port: 9000
Вместо:
server:
port:9000
Между двоеточием и значением отсутствует пробел.
Также обратите внимание, что настройка профиля как:
spring:
profiles: dev
устарел с версии 2.4.0 и должен быть заменен на:
spring:
config:
activate:
on-profile: dev
Комментарии:
1. Спасибо, я изменил пространство, выполнил очистку gradle и сборку gradle, и теперь по умолчанию используется порт тестового профиля, даже когда он правильно загружает профиль разработчика. Я получаю: следующие профили активны: dev, но теперь tomcat запускается на 9000, хотя для разработчика указано 8000
2. Это сработало после переключения на не устаревший yaml. Спасибо @Marc