В чем разница между командой -Pprod и spring.active.profile = true? - PullRequest
0 голосов
/ 08 сентября 2018

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

mvnw clean install spring-boot: run -Dspring.profiles.active = prod -Dmaven.test.skip = true -Djava.util.Arrays.useLegacyMergeSort = true

Проект запущен правильно

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

mvnw clean install spring-boot: run -Pprod -Dmaven.test.skip = true -Djava.util.Arrays.useLegacyMergeSort = true

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

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

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

1 Ответ

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

-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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...