一、mvn compile过滤指定配置文件
在pom.xml中配置resource, 结合includes,excluds
在<resource>标签下面加<filtering>标签,并且<filtering>标签的值设置为true;
添加<filters>标签,添加<filter>,并且值中使用env变量
在profiles中添加相应的profile,并且给env赋值
关键词:filters、resource、filtering、include、exclude
当resource设置了filtering为true的时候,会使用filters中设置的fliter来过滤该resource下include的文件中的变量。
也就是说,filtering是是否过滤的开关,filters中指定过滤用的filter,include指定被过滤的对象。这些变量的替换是maven执行的。
resource
指定哪些文件会包含在war文件中。
<build>
<resources>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<!-- 控制filters,如果不配filters,则不用配置 -->
<filtering>true</filtering>
<!-- 过滤掉excludes,与filtering无关 -->
<excludes>
<exclude>**/*.pfx</exclude>
<exclude>**/*.cer</exclude>
<exclude>**/*.tar.gz</exclude>
</excludes>
</resource>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>**/*.pfx</include>
</includes>
</resource>
</resources>
</build>
二、mvn install打包过滤掉指定包、类
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<excludes>
<exclude>**/common/aspect/**</exclude>
<exclude>**/Test.java</exclude>
</excludes>
</configuration>
</plugin>