[JAVA] Geben Sie spring.profiles.active über context-param in web.xml in Spring Boot an

Erstellen Sie vorerst eine entsprechende `pom.xml `.

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>

Wenn Sie " <maven.war.filteringDeploymentDescriptors> ... </ maven.war.filteringDeploymentDescriptors> " setzen, wird maven-war-plugin``` `` web.xml` sein Es wird den Platzhalter ersetzen.

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>

Geben Sie spring.profiles.active an, das im Profil von maven in context-param von web.xml angegeben ist. Im Spring-Boot lautet die Maven-Platzhalterreferenz `@ ... @` anstelle von $ {...}.

Wenn Sie danach `` `mvn package -P hoge``` ausführen, sieht die web.xml im generierten Krieg folgendermaßen aus.

web.xml


<context-param>
	<param-name>spring.profiles.active</param-name>
	<param-value>hoge_profile</param-value>
</context-param>

Es ist jedoch auch in den Wie man federaktive Profile mit Maven-Profilen einstellt beschrieben, auf die ich mich bezog. Das Wechseln aktiver Profile auf diese Weise ist jedoch nicht sehr schön. Dies liegt daran, dass für jede Umgebung Kriege mit unterschiedlichen Inhalten erstellt werden, sodass weniger Probleme auftreten, wenn nur eine letzte Binärdatei vorhanden ist.

Trotzdem gibt es in der realen Welt verschiedene Fälle, so dass nicht gesagt werden kann, dass die Spezifikation über web.xml schlecht ist.

Referenz-URL

Recommended Posts

Geben Sie spring.profiles.active über context-param in web.xml in Spring Boot an
Geben Sie die statische Ressourcencodierung in Spring Boot an
Untersuchte asynchrone Ausführung von Abfragen in Spring Boot 1.5.9
Verwendung von CommandLineRunner im Spring Batch von Spring Boot
Spring Boot 2 Multiprojekt mit Gradle
Wichtige Änderungen in Spring Boot 1.5
NoHttpResponseException in Spring Boot + WireMock
Beschleunigen Sie das Testen von Validatoren, für die DI im Spring Boot erforderlich ist
Frühlingsstiefel Hallo Welt in Eclipse
Spring Boot-Anwendungsentwicklung in Eclipse
Memorandum beim Spring Boot 1.5.10 → Spring Boot 2.0.0
Schreiben Sie den Testcode mit Spring Boot
Nachricht erlöschen (Spring Boot)
Implementieren Sie die REST-API mit Spring Boot
Was ist @Autowired im Spring Boot?
Implementieren Sie die Spring Boot-Anwendung in Gradle
Verwendung von Thymeleaf mit Spring Boot
Unbekannter Fehler in Zeile 1 von pom.xml bei Verwendung von Spring Boot in Eclipse
Schritte zum Ausführen von Spring Boot beziehen sich auf die Werte in der Eigenschaftendatei
Starten Sie mit IntelliJ ein (altes) Spring Boot-Projekt
Spring Boot-Protokoll im JSON-Format ausgeben
Memorandum zum Herunterladen lokaler Dateien mit Spring Boot
Erstellen Sie mit IntelliJ ein Java Spring Boot-Projekt
Lösen Sie die Thymeleaf-Syntaxprüfung in Spring Boot
[Trainieren! ] Zeigen Sie Hello World mit Spring Boot an
WebMvcConfigurer-Memorandum von Spring Boot 2.0 (Spring 5)
Verwenden Sie die DynamoDB-Abfragemethode mit Spring Boot
DI SessionScope Bean im Spring Boot 2-Filter
Ändern Sie das Sitzungszeitlimit in Spring Boot
Organisieren Sie die Unterschiede im Verhalten von @NotBlank, @NotEmpty und @NotNull mit Spring Boot + Thymeleaf
Rufen Sie den in der Controller-Klasse von Spring Boot definierten Pfad als Liste ab
So legen Sie Umgebungsvariablen in der Eigenschaftendatei der Spring-Boot-Anwendung fest
SameSite-Cookie im Spring Boot (Spring Web MVC + Tomcat)
Testen Sie den Controller mit Mock MVC im Spring Boot
Asynchrone Verarbeitung mit regelmäßiger Ausführung in Spring Boot
Zusammenfassung dessen, was ich über Spring Boot gelernt habe
[FCM] Implementierung der Nachrichtenübertragung mit FCM + Spring Boot
Anforderungs- und Antwortprotokolle mit Spring Boot ausgeben
Die Geschichte der Erhöhung der Spring Boot 1.5-Serie auf die 2.1-Serie
Lassen Sie uns das Gefühl von Spring Boot + Swagger 2.0 überprüfen
Verschiedene Korrespondenztabellen zwischen Spring Framework und Spring Boot
Wenn @Transactional of Spring Boot nicht funktioniert
Servlet-Filter mit Spring Boot verwenden [Spring Boot 1.x, 2.x kompatibel]
So fügen Sie in Spring Boot einen Klassenpfad hinzu
Java-Tipps - Erstellen Sie mit Gradle ein Spring Boot-Projekt
Anmerkungen, die in Spring Boot-Aufgabenverwaltungstools verwendet werden
Zusammenfassung dessen, was ich in Spring Batch gelernt habe
Zeigen Sie die Gradle-Aufgabe im Spring Boot-Projekt an
[Überprüfung] Vergleich der Spring Boot- mit der Micronaut-Boot-Geschwindigkeit
Überprüfen Sie das Verhalten von getOne-, findById- und Abfragemethoden mit Spring Boot + Spring Data JPA