2015-02-06 4 views
0

Я пытаюсь сделать мое приложение для загрузки весны готовым для легкой упаковки войны с использованием профилей (dev, prod ...) и maven 3 с использованием набора инструментов с пружинным источником.SPRING BOOT развернутый файл войны с maven и профилями в STS

профили установлены и работают хорошо, я могу переключать профили в application.properties с помощью Param: spring.profiles.active

Я создал APPLICATION- {профили} .properties и загрузки считывает файл свойств соответственно с spring.profiles.active набором паров в application.properties

Теперь создать конфигурацию Maven запуска, используя в разделе целей: пакет весна-загрузка: упакуйте

и я также добавить в разделе параметров: spring.profiles .active с dev как значение.

В конце я хотел бы 3 запускать конфигурации с различными значениями в spring.profiles.active, чтобы пакет был подготовлен для разных условий окружающей среды.

Когда я запускаю конфигурацию в режиме отладки, я могу видеть в разделе тестирования, что мой текущий параметр передан в maven правильно используется (если я устанавливаю dev, я вижу в тесте maven, что мой dev DB вызывается, поэтому читает файл application-dev.properties), но после того, как maven создает окончательную войну, этот параметр больше не используется.

Когда я разворачиваю пакет, пружинная загрузка читает spring.profiles.active, если присутствует в application.properties. Если я удалю это в application.properties, загрузите только параметры params в application.properties

Я что-то не так? Я думаю, что во время «переупаковки» мой параметр, установленный в maven, теряется.

У меня есть еще один вопрос, я пытаюсь дать имя в финальной войне с maven в разделе плагинов, но, похоже, он не работает, как я делал раньше с maven.

Вот конец моего pom.xml:

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-maven-plugin</artifactId> 
      <configuration> 
       <warName>stdapps</warName> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

Вот картина моей конфигурации Maven:

Maven run configuration

спасибо за вашу помощь

ответ

1

Что касается весны boot maven, как описано в plugin documentation, warName не является действительный параметр, finalName есть.

Кроме того, исходя из моего опыта, даже если в документации указано, что параметр классификатора является необязательным, когда я пытался настроить цель переупаковки с конечным именем и выходным каталогом при выполнении команды mvn spring-boot:repackage с терминала, результат является сбоем сборки и сообщением об ошибке, указывающим, что классификатор не может быть нулевым. (? Ошибка)

Так это конфигурация плагин, который работает для меня:

<plugin> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-maven-plugin</artifactId> 
    <executions> 
     <execution> 
      <goals> 
       <goal>repackage</goal> 
      </goals> 
      <configuration> 
       <outputDirectory>deployments</outputDirectory> 
       <finalName>warName</finalName> 
       <classifier>classifierName</classifier> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

Это создает warName-classifierName.war файл в папке развертываний в моем проекте.

 Смежные вопросы

  • Нет связанных вопросов^_^