打包时拷贝指定文件到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文件的任意节点的内容