maven 常用插件3
转载:http://www.cnblogs.com/dennyzhangdd/p/5831112.html
1.根据项目类型打包:jar/war打包插件。
首先看<packaging>jar</packing>属性,主流就2种类型。
打成jar包插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.*.MainClass</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
打成war包插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<webResources>
<resource>
<directory>src/main/webapp</directory>
<excludes>
<exclude>**/*.jpg</exclude>
</excludes>
</resource>
</webResources>
</configuration>
</plugin>
2. 编译插件
全局属性:源码编码为utf-8
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>//源代码编译版本
<target>1.6</target>//目标平台编译版本
<includes>
<include>**/*.java</include>
</includes>
<encoding>${project.build.sourceEncoding}</encoding>//字符集编码,这里引用全局属性
</configuration>
</plugin>
3.拷贝依赖jar包至target/lib下
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>compile</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<!-- ${project.build.directory}为Maven内置变量,缺省为target -->
<outputDirectory>${project.build.directory}/lib</outputDirectory>
<!-- 表示是否不包含间接依赖的包 -->
<excludeTransitive>false</excludeTransitive>
<!-- 表示复制的jar文件去掉版本信息 -->
<stripVersion>false</stripVersion>
</configuration>
</execution>
</executions>
</plugin>
4.描述打包插件
它支持各种打包文件格式,包括zip、tar.gz、tar.bz2等等
执行mvn assembly:assembly, 执行成功后会在target文件夹下多出一个以-jar-with-dependencies结尾的JAR包. 这个JAR包就包含了项目所依赖的所有JAR的CLASS.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2.1</version>
<configuration>
<descriptors>
<descriptor>src/main/assembly/assembly.xml</descriptor>
</descriptors>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>//把依赖的jar包一起打包
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
5.maven跳过测试用例插件
maven-surefire-plugin 是maven里执行测试用例的插件,不显示配置就会用默认配置。这个插件的 surefire:test 命令会默认绑定maven执行的 test 阶段。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>2.19</version>
</dependency>
</dependencies>
<configuration>
<skipTests>true</skipTests>//跳过测试用例
</configuration>
</plugin>
6.maven自动build插件
<pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<versionRange>[2.0,)</versionRange>
<goals>
<goal>copy-dependencies</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore/>
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<versionRange>[1.0,)</versionRange>
<goals>
<goal>test-compile</goal>
<goal>compile</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore/>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
转载于:https://www.cnblogs.com/FlyAway2013/p/6896991.html
maven 常用插件3相关推荐
- maven常用插件详解
1. 简介 我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说, ...
- maven常用插件配置
常用插件配置详解 Java代码 <!-- 全局属性配置 --> <properties> <project.build.name>tools</proj ...
- Maven常用插件介绍及如何打一个瘦jar包
目录 零:说在前面 一:常用插件的介绍 二:常用插件的对比 三:打一个瘦jar包 3.1:背景 3.2:解决方案 四:插件应用举例 4.1:maven-jar-plugin 举例及部分说明 4.2:m ...
- maven常用插件功能
maven-dependency-plugin http://maven.apache.org/plugins/maven-dependency-plugin/ maven-dependency-pl ...
- Maven学习总结(22)——Maven常用插件介绍
我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应 ...
- Maven 常用插件
1.Maven 打包package插件 <build><plugins><plugin><groupId>org.apache.maven.plugin ...
- Maven常用插件--转
=========Maven Report Plugin========= 1.源码分析 Java代码 <artifactId>maven-pmd-plugin</artifa ...
- Maven 配置文件 POM 的常用插件配置代码
Maven 配置文件 POM 的常用插件配置代码 普通 将 Maven 多模块依赖集成打进一个 JAR 包(方法 1) 将 Maven 多模块依赖集成打进一个 JAR 包(方法 2) 生成单入口类 J ...
- 大家都用什么Maven插件?及本人的几个常用插件分享
2019独角兽企业重金招聘Python工程师标准>>> 大家都用什么Maven插件?及本人的几个常用插件分享 博客分类: Java框架 maven Spring Flex Myecl ...
最新文章
- 机器人视觉的九大挑战
- 图灵2010.09书讯
- Judge Judy
- html字体颜色代码表
- 正则表达式匹配字符串的问题
- android技术积累,Android开发中积累的一些报错的解决方法
- “3D几何与视觉技术”全球在线研讨会第五期~隐式3D形状表示学习
- Json-lib, 实现Java对象与JSON数据格式的互转
- python建立FTP服务器
- 自旋锁 轻量锁_Java知识进阶-程序员升往架构师必经之路-自旋锁-知识铺
- 国际结算习题集及答案
- R语言数学表达式、特殊符号等
- 【论文阅读-句向量】On the sentence embeddings from Pre-trained Language Models
- EntityFramework安装失败
- PPT文件不能编辑的原因,可能不是编辑限制
- redis—redis事务
- 反病毒利器Autoruns和ProcessExplorer, SREng - 本人推荐使用的查毒杀毒辅助工具
- java关键字有system吗_求java中的关键字?
- 深入浅出编译原理-3-词法分析器
- Python报错pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool解决方法