Resource file directory compilation in different environments
1. Set the resource directory in the editor (further modify the compilation structure in the configuration file)
<profiles>
<profile>
<id>dev</id>
<properties>
<env-dir>META-INF/environments/dev</env-dir>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>sit</id>
<properties>
<env-dir> META-INF / environments / sit </env-dir>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<env-dir>META-INF/environments/prod</env-dir>
</properties>
</profile>
</profiles>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.0.2</version>
<configuration>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources/${env-dir}</directory>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
</build>
2, set in the build in maven
The places referenced in the file use these in the classpath directory
In the maven parent project, it can be shared by all projects, especially the consumer side and the server side
</properties>
<profiles>
<profile>
<id>dev</id>
<properties>
<env>dev</env>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>test</id>
<properties>
<env>test</env>
</properties>
</profile>
<profile>
<id>sit</id>
<properties>
<env>sit</env>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<env>prod</env>
</properties>
</profile>
</profiles>
Configuration on the consumer side
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>${jetty-maven-plugin.version}</version>
<dependencies>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>5.0.2</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-commons</artifactId>
<version>5.0.2</version>
</dependency>
</dependencies>
<configuration>
<httpConnector>
<port>8080</port>
</httpConnector>
<webAppConfig>
<contextPath>/${project.artifactId}</contextPath>
<allowDuplicateFragmentNames>true</allowDuplicateFragmentNames>
</webAppConfig>
<systemProperties>
<systemProperty>
<name>org.mortbay.util.URI.charset</name>
<value>UTF-8</value>
</systemProperty>
</systemProperties>
<stopKey />
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>${basedir}/src/main/resources</directory>
<includes>
<!--<include>*.xml</include>-->
<include>spring/*</include>
</includes>
<excludes>
<exclude>*.xml</exclude>
<exclude>.properties</exclude>
</excludes>
<filtering>true</filtering>
</resource>
<resource>
<directory>${basedir}/src/main/resources/stub</directory>
<targetPath>${basedir}/target/classes/stub</targetPath>
<includes>
<include>*.json</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>${basedir}/src/main/resources/stub/template</directory>
<targetPath>${basedir}/target/classes/template</targetPath>
<includes>
<include>*.xlsx</include>
<include>*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>${basedir}/src/main/resources/properties/${env}</directory>
<includes>
<include>*.xml</include>
<include>*.properties</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>