[JAVA] Spécifiez spring.profiles.active via context-param dans web.xml dans Spring Boot

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.

URL de référence

Recommended Posts

Spécifiez spring.profiles.active via context-param dans web.xml dans Spring Boot
Spécifiez le codage des ressources statiques dans Spring Boot
Exécution asynchrone des requêtes examinée dans Spring Boot 1.5.9
Comment utiliser CommandLineRunner dans Spring Batch of Spring Boot
Multi-projets Spring Boot 2 avec Gradle
Changements majeurs dans Spring Boot 1.5
NoHttpResponseException dans Spring Boot + WireMock
Accélérez les tests des validateurs qui nécessitent DI dans Spring Boot
Spring Boot Hello World dans Eclipse
Développement d'applications Spring Boot dans Eclipse
Mémorandum lorsque Spring Boot 1.5.10 → Spring Boot 2.0.0
Écrire du code de test avec Spring Boot
Sortie de message (Spring boot)
Implémenter l'API REST avec Spring Boot
Qu'est-ce que @Autowired dans Spring Boot?
Implémenter l'application Spring Boot dans Gradle
Comment utiliser Thymeleaf avec Spring Boot
Erreur inconnue dans la ligne 1 de pom.xml lors de l'utilisation de Spring Boot dans Eclipse
Étapes pour rendre Spring Boot capable de faire référence à la valeur dans le fichier de propriétés
Lancer un (ancien) projet Spring Boot avec IntelliJ
Sortie du journal Spring Boot au format json
Mémorandum de téléchargement de fichier local avec Spring Boot
Créer un projet Java Spring Boot avec IntelliJ
Desserrer la vérification de la syntaxe de Thymeleaf dans Spring Boot
[Entraine toi! ] Affichez Hello World avec Spring Boot
Mémorandum WebMvcConfigurer de Spring Boot 2.0 (printemps 5)
Utiliser la méthode de requête DynamoDB avec Spring Boot
DI SessionScope Bean dans le filtre Spring Boot 2
Modifier le délai d'expiration de la session dans Spring Boot
Organisez les différences de comportement de @NotBlank, @NotEmpty et @NotNull avec Spring Boot + Thymeleaf
Obtenez le chemin défini dans la classe Controller de Spring Boot sous forme de liste
Comment définir des variables d'environnement dans le fichier de propriétés de l'application Spring Boot
Cookie SameSite dans Spring Boot (Spring Web MVC + Tomcat)
Testez le contrôleur avec Mock MVC dans Spring Boot
Traitement asynchrone avec exécution régulière dans Spring Boot
Résumé de ce que j'ai appris sur Spring Boot
[FCM] Implémentation de la transmission de messages en utilisant FCM + Spring boot
Sortie des journaux de demande et de réponse avec Spring Boot
L'histoire de la montée de la série Spring Boot 1.5 à la série 2.1
Vérifions la sensation de Spring Boot + Swagger 2.0
Divers tableau de correspondance de Spring Framework et Spring Boot
Lorsque @Transactional of Spring Boot ne fonctionne pas
Utiliser le filtre de servlet avec Spring Boot [compatible Spring Boot 1.x, 2.x]
Comment ajouter un chemin de classe dans Spring Boot
Conseils Java - Créez un projet Spring Boot avec Gradle
Annotations utilisées dans les outils de gestion des tâches Spring Boot
Résumé de ce que j'ai appris dans Spring Batch
Afficher la tâche Gradle dans le projet Spring Boot
[Vérification] Comparaison de la vitesse de démarrage de Spring Boot et de Micronaut
Vérifiez le comportement de getOne, findById et des méthodes de requête avec Spring Boot + Spring Data JPA