maven-resources-plugin使用
命令行中带参数指定${}变量值
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<!-- 资源文件拷贝插件,处理资源文件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.1</version><!--$NO-MVN-MAN-VER$ -->
<configuration>
<encoding>UTF-8</encoding>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>pdf</nonFilteredFileExtension>
<nonFilteredFileExtension>swf</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
</plugins>
</build>
Hello ${name}
jest.urls=${name}
(1) 执行mvn resources:resources -Dname="world"
è
Hello world
jest.urls=world
(2) 执行mvn install -Dname="world"
è
Hello world
jest.urls=world
Properties标签中指定${}变量值
<properties>
<name>my testname</name>
</properties>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<!-- 资源文件拷贝插件,处理资源文件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.1</version><!--$NO-MVN-MAN-VER$ -->
<configuration>
<encoding>UTF-8</encoding>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>pdf</nonFilteredFileExtension>
<nonFilteredFileExtension>swf</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
</plugins>
</build>
(1) 执行mvn resources:resources
è
Hello my test name
jest.urls=my testname
(2) 执行mvn install
è
Hello my test name
jest.urls=my testname
properties文件中用<filter>标签过滤
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<filters>
<filter>src/main/resources/my-filter-values.properties</filter>
</filters>
<plugins>
<!-- 资源文件拷贝插件,处理资源文件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.1</version><!--$NO-MVN-MAN-VER$ -->
<configuration>
<encoding>UTF-8</encoding>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>pdf</nonFilteredFileExtension>
<nonFilteredFileExtension>swf</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
</plugins>
</build>
my-filter-values.properties
name=mytestingname
(1) 执行mvn resources:resources
è
Hello my testingname
jest.urls=my testingname
(2) 执行mvn install
è
Hello my testingname
jest.urls=my testingname
使用copy-resources copy
<build>
<plugins>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>copy-resources</id>
<!-- here the phase you need -->
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/extra-resources</outputDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
(1) 执行mvn resources:resources
è
Hello my testingname
jest.urls=my testingname
排除文件
<project>
...
<name>MyResources Plugin Practice Project</name>
...
<build>
...
<resources>
<resource>
<directory>src/my-resources</directory>
<includes>
<include>**/*.txt</include>
</includes>
<excludes>
<exclude>**/*test*.*</exclude>
</excludes>
</resource>
...
</resources>
...
</build>
...
</project>
排除二进制文件
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
<configuration>
...
<nonFilteredFileExtensions>
<nonFilteredFileExtension>pdf</nonFilteredFileExtension>
<nonFilteredFileExtension>swf</nonFilteredFileExtension>
</nonFilteredFileExtensions>
...
</configuration>
</plugin>
</plugins>
...
</build>
...
</project>
禁止过滤 使用<escapeString>
<properties>
<name>my test name</name>
</properties>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<!-- 资源文件拷贝插件,处理资源文件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.1</version><!--$NO-MVN-MAN-VER$ -->
<configuration>
<escapeString>\</escapeString>
</configuration>
</plugin>
</plugins>
</build>
指定\, 说明\${}的è${},其它照样替换
Hello\${name}
jest.urls=${name}
(1) 执行mvn resources:resources
è
Hello ${name}
jest.urls=my testname
(2) 执行mvn install
è
Hello ${name}
jest.urls=my testname
根据id在不同环境下打对应参数
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<!-- 资源文件拷贝插件,处理资源文件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.1</version><!--$NO-MVN-MAN-VER$ -->
<configuration>
<escapeString>\</escapeString>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>dev</id>
<properties>
<jest.urls>http://n2:9200,http://n4:9200</jest.urls>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>production</id>
<properties>
<jest.urls>http://192.168.3.241:9200,http://192.168.3.242:9200</jest.urls>
</properties>
</profile>
</profiles>
mvn clean package-DskipTests -Pdev
è
Hello\${jest.urls}
jest.urls=http://n2:9200,http://n4:9200
mvn clean package-DskipTests -Pproduction
è
Hello\${jest.urls}
jest.urls=http://192.168.3.241:9200,http://192.168.3.242:9200
自定义过滤器 Custom resources filters
With version 2.5 you are now able to build your own customresources filter(s).
Your custom resources filter classes must implements org.apache.maven.shared.filtering.MavenResourcesFiltering.
CustomResources Filter Implementation
Your custom resources filter classes must be marked as aPlexus Component. Below a sample with a roleHint itFilter.
1. /**
2. * @plexus.component role="org.apache.maven.shared.filtering.MavenResourcesFiltering"
3. * role-hint="itFilter"
4. */
5. public class ItFilter
6. implements MavenResourcesFiltering
Then you must activate in your build the mojo which willscan javadoc annotations to transform thoses to plexus component metadata.
1. <plugin>
2. <groupId>org.codehaus.plexus</groupId>
3. <artifactId>plexus-maven-plugin</artifactId>
4. <version>1.3.4</version>
5. <executions>
6. <execution>
7. <goals>
8. <goal>descriptor</goal>
9. </goals>
10. </execution>
11. </executions>
12. </plugin>
Dependencydeclaration
Your classes must be available in the maven-resources-pluginclasspath, this can be done with adding your artifact to the plugindependencies.
1. <project>
2. ...
3. <build>
4. <plugins>
5. <plugin>
6. <groupId>org.apache.maven.plugins</groupId>
7. <artifactId>maven-resources-plugin</artifactId>
8. <version>3.1.0</version>
9. <configuration>
10. ...
11. </configuration>
12. <dependencies>
13. <dependency>
14. <groupId>custom resources filters artifact groupId</groupId>
15. <artifactId>custom resources filters artifact artifactId</artifactId>
16. <version>custom resources filters artifact version</version>
17. </dependency>
18. </dependencies>
19. </plugin>
20. </plugins>
21. ...
22. </build>
23. ...
24.</project>
Useof your Custom Resource Filter with the maven-resources-plugin
You must now declare you custom filter in the plugin.mavenFilteringHint must respect same syntax as your Plexus Component roleHint.
1. <plugin>
2. <groupId>org.apache.maven.plugins</groupId>
3. <artifactId>maven-resources-plugin</artifactId>
4. <version>3.1.0</version>
5. <configuration>
6. ...
7. <mavenFilteringHints>
8. <mavenFilteringHint>itFilter</mavenFilteringHint>
9. </mavenFilteringHints>
10. </configuration>
11. ...
12. </configuration>
13. </plugin>
maven-resources-plugin使用的更多相关文章
- 记录一次maven打包时将test目录下的类打包到jar中,Maven Assembly Plugin的使用
今天有人问我打包后找不到主类,运行的类写在test中.按照常规,test目录下的文件不会打包到jar包中.(但是我测试一个springboot工程就可以,这里之后再研究) 具体解决如下 第一步:在po ...
- springboot项目中使用maven resources
maven resource 组件可以把pom的变量替换到相关的resouces目录中的资源文件变量 示例项目:内容中心 (文章管理) 生成jar包,生成docker ,生成k8s文件 1.项目结构 ...
- 学习Maven之Maven Enforcer Plugin
1.Maven Enforcer plugin是什么鬼? 在说这个插件是什么前我们先思考这么一个问题:当我们开发人员进入项目组进行开发前,要准备开发环境,而领导总是会强调工具的统一,编译环境的统一.比 ...
- [Maven] - Eclipse "maven compiler plugin" 冲突解决
刚安装最新的Maven 3.2.5,在eclipse中使用maven的Run As->Maven Install,总会提示: Failed to execute goal org.apache. ...
- [Apache Maven Shade Plugin] [example] [001] 官方例子:includes-excludes
链接地址:[Selecting Contents for Uber JAR](http://maven.apache.org/plugins/maven-shade-plugin/examples/i ...
- maven jetty plugin
转载:http://blog.163.com/xueling1231989@126/blog/static/1026408072013101311395492/ 前言: 在 maven 下测试调试时, ...
- 施用 maven shade plugin 解决 jar 或类的多版本冲突
施用 maven shade plugin 解决 jar 或类的多版本冲突 使用 maven shade plugin 解决 jar 或类的多版本冲突java 应用经常会碰到的依赖的三方库出现版本 ...
- 解决Maven出现Plugin execution not covered by lifecycle configuration 错误
http://blog.163.com/xh_ding/blog/static/1939032892015222368827/ 解决Maven出现Plugin execution not covere ...
- 关于Error:Maven Resources Compiler: Maven project configuration required for module '项目名' isn't available. Compilation of Maven projects is supported only&
总是出现Error:Maven Resources Compiler: Maven project configuration required for module '项目名' isn't avai ...
- (转)新建maven项目时报错Error:Maven Resources Compiler: Maven project configuration required for module 'XX'解决方法
转载地址:https://blog.csdn.net/qq784515681/article/details/85070195 在新建maven项目时,Problems中报错: Error:Maven ...
随机推荐
- 【老生常谈】Attr与Prop的区别
“你为什么要做一个程序员?”,“因为我有一颗改变世界的心!”,“说人话”,“因为我没朋友...” -------------纯属娱乐 ================================= ...
- onerror="javascript:this.src='images/defaultUpload.png';"【容易导致死循环报错】
当无法找到默认图片时,onerror="javascript:this.src='images/defaultUpload.png';"容易导致死循环报错
- 20179223《Linux内核原理与分析》第十周学习笔记
课本第17.19和20章内容学习 关于设备驱动和设备管理,Linux主要有四种内核成分 设备类型:在所有Unix系统中为了统一普通设备的操作所采用的分类. 模块:Linux内核中用于按需加载和卸载目标 ...
- IOS UIView 放大缩小
/创建缩小了的视图myWeiBoImageVC = [[UIViewController alloc] init];myWeiBoImageVC.view.clipsToBounds = YES;my ...
- Python Qt5 Creator 使用创建项目教程
1.下载Creator 4.2.1 2.点击文件-新建项目-QT-QT designer Form 然后 choose 3. 4.窗口组件选择 5.下一步,然后就可以自己设计了,,, 最后说一下,保存 ...
- 《DSP using MATLAB》示例Example 8.23
代码: %% ------------------------------------------------------------------------ %% Output Info about ...
- BZOJ3590 [Snoi2013]Quare
题意 4.20四川芦山地震发生后,抗震救灾委员会接到一个紧急任务,四川省给该委员会发了一份地图,这份地图给出了该省一些城市的情况:任两个城市是用一条或多条公路连接起来的,也可以没有公路连接,但是每个城 ...
- php array_push 与 $arr[]=$value 性能比较
1.array_push方法 array_push 方法,将一个或多个元素压入数组的末尾. int array_push ( array &$array , mixed $var [, mix ...
- 【转】我的第一个Python小程序
原文网址:http://blog.csdn.net/randyqiu/article/details/4484089 人的每个第一次都有点特别的意义,所以下面这个小程序我把他记录下来做个纪念. 因为要 ...
- linux中sar的详细使用
在使用UNIX操作系统的过程中,我们常常会用到各种各样的问题,比如系统运行速度突然变慢,系统容易死机或者主机所带的终端常出现死机,这时我们常常猜测,是硬盘空间太小,还是内存不足?I/O出现瓶颈,或者是 ...