maven常用插件: 打包源码 / 跳过测试 / 单独打包依赖项
一、指定编译文件的编码 maven-compile-plugin
1 <plugin> 2 <groupId>org.apache.maven.plugins</groupId> 3 <artifactId>maven-compiler-plugin</artifactId> 4 <version>2.5.1</version> 5 <configuration> 6 <source>1.6</source> 7 <target>1.6</target> 8 <encoding>utf-8</encoding> 9 </configuration> 10 </plugin>
View Code
如果maven编译时出现乱码,通常这样指定编码后,即可解决
二 、打包同时生成源码 maven-source-plugin
1 <plugin> 2 <artifactId>maven-source-plugin</artifactId> 3 <version>2.4</version> 4 <executions> 5 <execution> 6 <phase>package</phase> 7 <goals> 8 <goal>jar-no-fork</goal> 9 </goals> 10 </execution> 11 </executions> 12 </plugin>
View Code
三、 打包时跳过单元测试 maven-surefire-plugin
1 <plugin> 2 <artifactId>maven-surefire-plugin</artifactId> 3 <version>2.6</version> 4 <configuration> 5 <skip>true</skip> 6 </configuration> 7 </plugin>
View Code
注:起作用的是<skip>true</skip>,改成false后,单元测试就会被执行。
当然,直接这样也行:
mvn package -Dmaven.test.skip=true
另外,如果单元测试中有输出中文,eclipse的控制台里中文可能会变成乱码输出,也可以通过这个插件解决,参考配置:
1 <plugin> 2 <groupId>org.apache.maven.plugins</groupId> 3 <artifactId>maven-surefire-plugin</artifactId> 4 <version>2.16</version> 5 <configuration> 6 <forkMode>once</forkMode> 7 <argLine>-Dfile.encoding=UTF-8</argLine> 8 </configuration> 9 </plugin>
View Code
argLine这里指定了UTF-8编码,解决了中文乱码问题
四、 单独打包依赖项 maven-assembly-plugin
1 <plugin> 2 <artifactId>maven-assembly-plugin</artifactId> 3 <version>2.4.1</version> 4 <configuration> 5 <finalName>mylib</finalName> 6 <appendAssemblyId>false</appendAssemblyId> 7 <encoding>utf-8</encoding> 8 <descriptors> 9 <descriptor>src/main/assembly/src.xml</descriptor> 10 </descriptors> 11 <descriptorRefs> 12 <descriptorRef>jar-with-dependencies</descriptorRef> 13 </descriptorRefs> 14 </configuration> 15 <executions> 16 <execution> 17 <id>make-assembly</id> 18 <phase>package</phase> 19 <goals> 20 <goal>single</goal> 21 </goals> 22 </execution> 23 </executions> 24 </plugin>
View Code
注:<descriptor>src/main/assembly/src.xml</descriptor> 这里需要在src/main/assembly下放一个src.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 <assembly xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/assembly-1.0.0.xsd"> 4 <id>package</id> 5 <formats> 6 <format>war</format> 7 </formats> 8 <includeBaseDirectory>false</includeBaseDirectory> 9 <!-- <fileSets> 10 <fileSet> 11 <directory>src/main/bin</directory> 12 <outputDirectory>/</outputDirectory> 13 </fileSet> 14 <fileSet> 15 <directory>src/main/config</directory> 16 <outputDirectory>config</outputDirectory> 17 </fileSet> 18 </fileSets> --> 19 <dependencySets> 20 <dependencySet> 21 <outputDirectory>lib</outputDirectory> 22 <scope>runtime</scope> 23 </dependencySet> 24 </dependencySets> 25 </assembly>
View Code
最终所有依赖项,会生成一个名为mylib.war的独立文件(文件名是由<finalName>...</finalName>节点决定的)
另:
<descriptors>
<descriptor>src/main/assembly/src.xml</descriptor>
</descriptors>
这里<descriptor>...</descriptor>可重复出现,即可出现多个. 这也意味着,你同时可以有多个打包配置规则,比如依赖项打包成文件A,所有配置打包成文件B...
五、打包时指定资源目录resouces的文件编码
1 <!-- 设置resouce目录下的所有文件编码,否则如果配置xml文件中有中文字符,部署后可能会引起运行失败 --> 2 <plugin> 3 <groupId>org.apache.maven.plugins</groupId> 4 <artifactId>maven-resources-plugin</artifactId> 5 <version>2.6</version> 6 <configuration> 7 <encoding>UTF-8</encoding> 8 </configuration> 9 </plugin>
View Code
最后附加二个找jar\plugin的网址:
http://search.maven.org/
http://mvnrepository.com/
maven常用插件: 打包源码 / 跳过测试 / 单独打包依赖项相关推荐
- maven 常用插件3
maven 常用插件3 转载:http://www.cnblogs.com/dennyzhangdd/p/5831112.html 1.根据项目类型打包:jar/war打包插件. 首先看<pac ...
- maven常用插件详解
1. 简介 我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说, ...
- InstallShield打包源码公布
InstallShield打包源码公布包含重量级别的内容. Setup.rul 内容 #include "ifx.h" #include "global.h" ...
- 【Chrome浏览器插件开发】浏览器插件运行机制03之实战使用Vue.js 3 + Vite 2开发出简易的浏览器插件(含源码)
文章目录 知识点: 一.使用 vite 创建项目 1.1 环境搭建 1.2 安装vite工具 1.3 创建vite项目 1.4 进入项目并安装依赖 1.5 修改端口 1.6 运行项目 二.创建项目资源 ...
- Maven常用插件--转
=========Maven Report Plugin========= 1.源码分析 Java代码 <artifactId>maven-pmd-plugin</artifa ...
- 2014年最新720多套Android源码2.0GB免费一次性打包下载
之前发过一个帖子,但是那个帖子有点问题我就重新发一个吧,下面的源码是我从今年3月份开始不断整理源码区和其他网站上的android源码,目前总共有720套左右,根据实现的功能被我分成了100多个类,总共 ...
- Android开发——项目实例(五)集新闻、音乐、电影于一体的软件(带打包源码)
主页面 1.写界面 很明显,这个主界面采用了ViewPager和TabLayout实现界面滑动切换,在使用TabLayout之前记得导包,TabLayout需要导入的包. <?xml versi ...
- cmake使用教程(十一)-使用cpack打包源码并编写自动化脚本上传到仓库
[cmake系列使用教程] cmake使用教程(一)-起步 cmake使用教程(二)-添加库 cmake使用教程(三)-安装.测试.系统自检 cmake使用教程(四)-文件生成器 cmake使用教程( ...
- 轮播插件unsilder 源码解析(一)---使用
啰嗦几句:学习的可以直接省略,一直本着写原生的插件想法,但是前天看了吕大豹的博客觉得自己都没有正经的写个jquery插件:所以在开始写之前我会先对几个比较热门的jquery的插件进行源码分析:至于为什 ...
- 对象关系映射(ORM)及代码生成器和插件C#源码(DBFrameworkV4.5.3)
1. ORM及代码生成器和插件C#源码(DBFrameworkV4.5.3) 一.使用对象关系映射组件Kenly.DBFramework.dll不用编写任何SQL或者存储过程即可实现下列功能: 1.数 ...
最新文章
- 揭秘又拍云凭啥做到两年估值超10亿?
- 5.1 指针与地址 (C)
- ubuntu16.04右键没有终端的问题
- SAP Fiori 修改catalog group名称的技术实现
- 考前一个月,不,只剩29天
- 人工智能数学基础之高等数学
- css中绝对定位和浮动的异同
- UTF与ascii区别
- 联想服务器改win7系统教程,联想笔记本Win10改Win7方法分享
- FreeTextBox3.1.6使用说明(整理)
- java hostwrite_Java IOUtils.write方法代碼示例
- 【BZOJ3654】图样图森破【最长路】【后缀数组】【ST表】【回文串】【LCP】
- 关于食堂排队与座位问题的调查报告
- Re32:读论文 Summarizing Legal Regulatory Documents using Transformers
- 科学家正在尝试取用脂肪细胞3D打印人类心脏
- 微信小程序 实时搜索并高亮关键字
- abc云支付php,凉秋易支付,免签约支付平台,彩虹易支付,abc云支付云钱包,云支付,云结算,支付接口,支付营销,易支付,微信支付,支付宝,QQ钱包,个人支付接口,免签支付接口...
- pba mode ( path based analysis for sta )
- 电脑如何分盘、合盘?关于硬盘的分盘,你所不知道的那些事情
- 如何跟对手学习发外链提高网站排名?
热门文章
- 西点军校的经典法则[转]
- 统计系统所有进程总共占用多少内存
- spin_lock的变体
- Android 学习之Fragment的创建
- (十一)洞悉linux下的Netfilteriptables:iptables命令行工具源码解析【上】
- 走进start_kernel尾声
- B - 好数 51Nod - 1717
- B - I Hate It(单点更新)(区间求最大值)
- 点击按钮跳转页面_获取快手主页跳转url scheme 协议的方法(app通用方法)
- 等比数列求和python_python计算等差数列