В чем разница между командой -Pprod и spring.active.profile = true?

79
3

Когда я выполняю это с помощью командной строки,

mvnw clean install spring-boot: запустить -Dspring.profiles.active = prod -Dmaven.test.skip = true -Djava.util.Arrays.useLegacyMergeSort = true

Проект выполняется правильно

Но когда я пытаюсь использовать ту же самую вещь, используя команду -Pprod, она дает ошибку (нормально работать, но главная страница не может быть отображена),

mvnw clean install spring-boot: запустить -Pprod -Dmaven.test.skip = true -Djava.util.Arrays.useLegacyMergeSort = true

В настоящее время у меня есть три профиля dev, test и prod.

Я хочу знать, в чем разница между ними?

Пожалуйста, дайте мне некоторое представление о команде -Pprod.

спросил(а) 2021-01-19T17:20:12+03:00 9 месяцев назад
1
Решение
121

-Pprod является свойством для вызова Maven и активирует профиль Maven с именем prod, spring.profiles.active=prod активирует профиль Spring. Они не совпадают, так что это зависит от того, где вы настроили 3 профиля (думаю, вы настроили их как профили Spring, поэтому свойство Spring - это тот, который вы должны использовать). Возможно, однако, чтобы настроить профили Maven таким образом, чтобы в этом запуске был активирован профиль Spring (в основном в профиле Maven вы задали значение свойства Spring для значения). Вы можете узнать больше об этом здесь. Краткий пример:

<profiles>
<profile>
<id>prod</id>
<properties>
<spring.profiles.active>prod</spring.profiles.active>
</properties>
</profile>
</profiles>

ответил(а) 2021-01-19T17:20:12+03:00 9 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема