Pour le moment, créez un
pom.xml` '' approprié.
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>kagamihoge</groupId>
<artifactId>asdasdf</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>asdasdf</name>
<description>Add project description here</description>
<properties>
<maven.war.filteringDeploymentDescriptors>true</maven.war.filteringDeploymentDescriptors>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.8.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
</dependencies>
<profiles>
<profile>
<id>hoge</id>
<properties>
<spring_profile_value>hoge_profile</spring_profile_value>
</properties>
</profile>
</profiles>
</project>
Parmi les éléments ci-dessus, en définissant `<maven.war.filteringDeploymentDescriptors> ... </ maven.war.filteringDeploymentDescriptors>`
,
maven-war-plugin '' sera
`web.xml ' Il remplacera l'espace réservé de ``.
src/main/webapp/WEB-INF/web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<context-param>
<param-name>spring.profiles.active</param-name>
<param-value>@spring_profile_value@</param-value>
</context-param>
</web-app>
Spécifiez spring.profiles.active spécifié dans le profil de maven dans le paramètre context-param de web.xml. Dans spring-boot, la référence de l'espace réservé maven est
@ ... @
au lieu de
$ {...} ``.
Après cela, si vous faites `` mvn package -P hoge```, le fichier web.xml dans la guerre générée ressemblera à ceci.
web.xml
<context-param>
<param-name>spring.profiles.active</param-name>
<param-value>hoge_profile</param-value>
</context-param>
Cependant, il est également écrit dans le Comment définir des profils actifs de ressort avec des profils maven auquel j'ai fait référence. Cependant, changer de profil actif de cette façon n'est pas très beau. C'est parce que des guerres avec des contenus différents sont créées pour chaque environnement, donc il y a moins de problèmes s'il n'y a qu'un seul binaire final.
Même ainsi, il existe différents cas dans le monde réel, on ne peut donc pas dire que la spécification via web.xml est mauvaise.
Recommended Posts