profiles可以控制不同环境下的配置信息
<profiles> <profile> <id>test</id> <properties> <profile.active>test</profile.active> </properties> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <id>sin</id> <properties> <profile.active>sin</profile.active> </properties> </profile> </profiles>build插件控制打包资源
<build> <finalName>war包名字</finalName> <!-- 指定环境资源路径 --> <filters> <filter>src/main/webapp/WEB-INF/${profile.active}/${profile.active}.properties</filter> </filters> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.3.1</version> <configuration> <webResources> <resource> <!-- 指定路径 --> <directory>src/main/webapp</directory> <!-- 是否进行资源的占位符替换 --> <filtering>true</filtering> <!-- 目标路径 --> <targetPath>./</targetPath> <!-- 指定进行占位符替换的资源文件,没有标签即全部文件资源 ,excludes指定不进行占位符替换的文件 --> <includes> <include>web.xml</include> </includes> </resource> </webResources> </configuration> </plugin>这个配置独立于插件,使用maven-war-plugin可以做全部控制包括classes,如下配置是单独打包资源到classes下,也可以用开启占位符过滤。
<build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>message.properties</include> <include>**/*.ttf</include> <include>**/*.xml</include> </includes> </resource> </resources> </build>每章推荐:周杰伦-世界末日