声明:本文参考资料来自互联网
J2EE项目在开发时,需要根据不同环境适配资源文件,maven提供了war-plugin这款打包插件,方便完成这个适配。
首先配置maven profile,再次不再详述,参见官方文档。demo中,prod的资源依旧放在src/main/resources中,dev、qa资源置于src目录外。可根据实际情况调整。
<profiles>
<!-- dev配置 -->
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<runtime.env>env/dev</runtime.env>
<final.name>filename</final.name>
</properties>
</profile>
<!-- qa配置 -->
<profile>
<id>qa</id>
<properties>
<runtime.env>env/qa</runtime.env>
<final.name>filename</final.name>
</properties>
</profile>
<!-- prod配置 -->
<profile>
<id>prod</id>
<properties>
<runtime.env>src/main/resources</runtime.env>
<final.name>filename</final.name>
</properties>
</profile>
</profiles>
然后引入maven-war-plugin插件
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.0.0</version> <configuration> <webResources> <resource> <directory>${runtime.env}</directory> <targetPath>WEB-INF/classes</targetPath> </resource> </webResources> <warSourceExcludes>resources/js/**</warSourceExcludes> </configuration> </plugin>
warSourceExcludes 可以过滤掉不需要打包的资源文件
--- 20161220 补充 yuicompressor-maven-plugin 插件,打包js,css成min文件 ---
<plugin> <groupId>net.alchim31.maven</groupId> <artifactId>yuicompressor-maven-plugin</artifactId> <version>1.3.0</version> <executions> <execution> <phase>prepare-package</phase> <goals> <goal>compress</goal> </goals> </execution> </executions> <configuration> <encoding>UTF-8</encoding> <jswarn>false</jswarn> <force>false</force> <suffix>.min</suffix> <excludes> <exclude>**/*.min.js</exclude> <exclude>**/*.min.css</exclude> <exclude>resources/component/**</exclude> <exclude>resources/image/**</exclude> </excludes> <includes> <include>**/*.js</include> <include>**/*.css</include> </includes> </configuration> </plugin>