maven 插件_2 Maven Resources Plugin
2016-01-07 10:43
141 查看
http://maven.apache.org/plugins/maven-resources-plugin/resource插件对资源文件编码处理,资源文件目录指定,资源文件拷贝等功能,最后将资源文件拷贝到一个目录默认执行方法: mvn resources:resources 如果是copy-resources:执行方法: mvn resources:copy-resources执行后,将资源文件拷贝到target/classes中The Resources Plugin has three goals:resources:resources 拷贝\src\main\resources文件到输出目录此goal默认是绑定process-resources life-cycle phaseresources:testResources 拷贝\src\test\resources文件到输出目录此goal默认是绑定process-resources life-cycle phase resources:copy-resources copiesresources to an output directory.This goal requires that you configure the resources to be copied, and specify the outputDirectory1. 指定资源文件编码方式
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.7</version> <configuration> <encoding>UTF-8</encoding> </configuration> </plugin>2. 指定资源文件路径默认情况资源文件路径: src\main\resources。可以在effective pom 中 resources配置的路径看到哦现在我们指定资源路径,就不适用默认的src/main/resource了,可以指定多个资源路径,directory的路径以pom.xml所以路径相对的例如:
Project |-- pom.xml `-- src `-- my-resources
如下配置
<resources> <resource> <directory>src/my-resources</directory> </resource> </resources>多个资源路径:<build>
<resources> <resource> <directory>resource1</directory> </resource> <resource> <directory>resource2</directory> </resource> <resource> <directory>resource3</directory> </resource> </resources></build>3. include/exclude 资源文件和目录
<build> ... <resources> <resource> <directory>src/my-resources</directory> <includes> <include>**/*.txt</include> </includes> <excludes> <exclude>**/*test*.*</exclude>
<exclude>**/*.jpeg</exclude></excludes> </resource> ... </resources> ... </build>4. 执行mvn resources:resources将文件默认拷贝到target/classes中,指定拷贝到的目录设置: <outputDirectory></outputDirectory><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><version>2.7</version><configuration><outputDirectory>${basedir}/target</outputDirectory><encoding>UTF-8</encoding></configuration></plugin>也可以放在 <build><outputDirectory>${basedir}/target</outputDirectory></build>查看effective pom 里面可以看到哦5. fliter 使用: 资源文件可以使用变量,通过filter处理变量 ${}
加上: <filtering>true</filtering>,才对此资源目录下的文件中${} 进行处理。
如果不加filtering,则此文件${}不会处理哦
<resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource>
那么${}中的值可以有3中方式
举例: 资源文件中有${name} 和${age} 1>mvn resources:resources -Dname="world" -Dage="12"
2>
<project> ... <properties> <name>world</name>
<age>12</age></properties> ...</project>
3> 放在文件里面
<build> ... <filters> <filter>
my-filter-values.properties</filter> </filters> ... </build>
my-filter-values.properties 文件内容:
name=world
age=126. copy resources 拷贝文件
<plugin> <artifactId>maven-resources-plugin</artifactId> <version>2.7</version> <executions> <execution> <id>copy-resources</id> <!-- 可以是其他阶段--> <phase>validate</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${basedir}/target/extra-resources</outputDirectory> <resources> <resource> <directory>src/non-packaged-resources</directory> <filtering>true</filtering> </resource> </resources> </configuration> </execution> </executions> </plugin> </plugins>
执行:mvn validate 。执行validate阶段时会操作copy。
对不同环境无法通过此方式来拷贝不同环境的文件。所以建议使用war中的
相关文章推荐
- LaTeX插入图片时,图总是置顶的解决办法
- Java实现SSH模式加密
- PostgreSQL学习手册(数据库维护)
- spring官网
- 多线程学习三(synchronized和Lock)
- Objective-C中的实例方法、类方法、Category、Protocol
- SSO单点登录学习总结(2)——基于Cookie+fliter单点登录实例
- 解决XCode7.1 上无法安装 Alcatraz PackageManager
- 标准库类型string
- 欢迎使用CSDN-markdown编辑器
- C++ typedef用法小结 (※不能不看※)
- redis学习(一)redis for mac安装,启动,关闭,卸载
- PHP中单引号和双引号的区别
- 常用对象API、附加:集合补充
- form表单提交校验
- 打开适配器并捕获数据包
- 模态model窗口跟地图样式冲突的一些问题!
- Hibernate框架详解(一)总结介绍
- AXIS2远程调用WebService示例(Eclipse+AXIS)
- YTU 1004: 1、2、3、4、5...