一、maven-war-plugin插件
打包时拷贝指定文件到webroot目录
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<webResources>
<resource>
<directory>src/main/webapp/src/css</directory>
</resource>
</webResources>
</configuration>
</plugin>
二、maven-resources-plugin插件
打包时拷贝指定文件到任意目录,如下代码是拷贝src/main/webapp/src/css目录下的文件到target目录,打包时target目录的内容会打包到webroot目录
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<encoding>UTF-8</encoding>
<outputDirectory>${basedir}/target</outputDirectory>
<resources>
<resource>
<directory>src/main/webapp/src/css</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
三、resource模块
开发maven项目时,一般都会把配置文件放到src/main/resources目录下,针对这个目录,maven的resources对其进行单独的配置
<resources>
<resource>
<directory>src/main/resources/conf/dev</directory>
<filtering>true</filtering>
<includes>
<include>context.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources/</directory>
<filtering>false</filtering>
<excludes>
<exclude>context.xml</exclude>
</excludes>
</resource>
</resources>
filtering为true的时候,这时只会把过滤的文件打到classpath下
四、Maven内置变量
- ${basedir} 项目根目录
- ${project.build.directory} 构建目录,缺省为target
- ${project.build.outputDirectory} 构建过程输出目录,缺省为target/classes
- ${project.build.finalName} 产出物名称,缺省为${project.artifactId}-${project.version}
- ${project.packaging} 打包类型,缺省为jar
- ${project.xxx} 当前pom文件的任意节点的内容