博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Maven插件使用
阅读量:7294 次
发布时间:2019-06-30

本文共 2828 字,大约阅读时间需要 9 分钟。

Resources插件负责处理项目资源文件并拷贝到输出目录。Maven将main resources和test resources分开,一般main resources关联main source code,而test resources关联test source code。

Resources插件目标有三个:

  1. resources:resources,拷贝main resources到main output directory。它绑定了process-resources生命周期阶段,当执行Compiler:compile插件目标前就会执行此阶段。
  2. resources:testResources,拷贝test resources到test output directory。它绑定了process-test-resources生命周期阶段,当执行surefire:test插件目标前就会执行此阶段。
  3. resources:copy-resources,手动拷贝资源到输出目录

可以指定resources插件读取和写入文件的字符编码,比如ASCII,UTF-8或UTF-16。也可以指定${project.build.sourceEncoding}属性。

UTF-8

也可以通过<configuration>指定编码

maven-resources-plugin
3.0.2
UTF-8

默认情况下,Maven会从项目的src/main/resources目录下查找资源。如果你的资源不在此目录下,可以用<resources>标签指定,同时也支持多个目录。

src/main/resources1
src/main/resources2

有的时候,资源文件中存在变量引用,可以使用<filtering>标签指定是否替换资源中的变量。变量的来源为pom文件中的<properties>标签中定义的变量。也可以在<build>中定义过滤器资源。

filter-values.properties
src/main/resources
true

可能目录下的资源文件都需要被使用,可以使用<includes>和<excludes>来精细控制。

src/main/resources
**/*.txt
**/*.rtf
**/*.bmp
**/*.jpg
**/*.jpeg
**/*.gif

如果资源中本来存在${}字符,不需要被替换,可以在$前加\,并在<configuration>中使用<escapeString>。

maven-resources-plugin
3.0.2
\
UTF-8

另外目录下存在二进制文件,需要排除,也可以在<configuration>中使用<nonFilteredFileExtensions>根据后缀来过滤。

maven-resources-plugin
3.0.2
UTF-8
pdf
swf

如果你需要在其他阶段拷贝资源文件,可以使用插件目标copy-resources。

maven-resources-plugin
3.0.2
copy-resources
validate
copy-resources
${basedir}/target/extra-resources
src/non-packaged-resources
true

解决java.lang.SecurityException: Invalid signature file digest for Manifest main attributes

当项目依赖其他jar包的时候,打出的jar包执行出错,抛出这个异常。

原因:因为依赖jar包中的META-INF中有多余的.SF文件与当前jar包冲突,

  • 解决方案 一

    在打包前删除依赖jar包的.SF文件
  • 解决方案 二

    在打完的jar包执行zip -d your.jar 'META-INF/.SF' 'META-INF/.RSA' 'META-INF/*SF'
 

转载于:https://www.cnblogs.com/Vowzhou/p/11051502.html

你可能感兴趣的文章
vue.js响应式原理解析与实现
查看>>
Block
查看>>
Android 导航栏如何轻松搞定
查看>>
LeetCode 406 Queue Reconstruction by Height
查看>>
dyld: Library not loaded: @rpath/Alamofire.framework/Alamofire
查看>>
Android-MeasureSpec那些事
查看>>
聊聊flink的logback配置
查看>>
开发了个 Flipper 调试工具的 Flutter 版本 SDK,让 Flutter 应用调试起来更容易
查看>>
spring cloud config将配置存储在数据库中
查看>>
HTTP代理ip的这些误区你知道吗?
查看>>
初探 Vue 生命周期和钩子函数
查看>>
探究防抖(debounce)和节流(throttle)
查看>>
为何把日志打印到控制台很慢?
查看>>
Java多线程-Callable和Future
查看>>
记一次用iview实现表格"合并"单元格的具体操作
查看>>
React入门:从零搭建一个React项目
查看>>
“三次握手,四次挥手”你真的懂吗?
查看>>
JavaScript五十问——对比来说CSS的Grid与FlexBox(下篇)
查看>>
无监控、不运维。运维系统架构设计附带思维导图
查看>>
Salesforce平台支持多租户Multi tenant的核心设计思路
查看>>