文档章节

maven系列学习之二:maven初体验-简单使用maven进行测试,编译、打包和运行

逸风如梦
 逸风如梦
发布于 2014/03/12 17:30
字数 451
阅读 3773
收藏 9

1、编译测试

<dependency>

                     ……

                     <scope>test</scope>

              </dependency>

 

        Scope:依赖范围。若依赖范围为test则表示该依赖只对测试有效。如果不声明依赖范围,那么默认值为compile,表示该依赖对主代码和测试代码都有效。

 

Mvn clean compile :

       执行过程:clean:clean --> resources:resources --> compiler:compile

 

Mvn clen test

       执行过程:clean:clean --> resources:resources --> compiler:compile -->resources:testResources –-> compiler:testCompile --> surefire:test

Surefiremaven中负责执行测试的插件,会显示一共运行了多少测试,失败了多少 ,出错了多少,跳过了多少。

 

注意:3.1版本及之前的maven核心插件之一compiler插件默认只支持编译java1.3,因此需要配置该插件使其支持java5,如下:

<project>

       <build>

              <plugins>

                     <plugin>

                            <groupId>org.apache.maven.plugins</groupId>

                            <artifactId>maven-compiler-plugin</artifactId>

                            <configuration>

                                   <source>1.6</source>

                                   <target>1.6</target>

                            </configuration>

                     </plugin>

              </plugins>

       </build>

</project>

 

2、打包和运行

Pom中如果没有指定打包类型,则默认打包类型为jar。执行命令mvn clean package可进行打包。Maven在打包之前执行编译、测试等操作后会后执行jar:jar任务负责打包。默认包名命名规则为:artifact-version.jar

 

打包完执行mvn clean install 可将该bao安装到maven库中,供其他maven项目直接引用。

 

打包可运行程序

默认打包生成的jar是不能够直接运行的,因为带有main方法的类信息不回添加到manifest中。为了生成可执行的jar文件,需要借助maven-shade-plugin,配置位置:<project><build><plugins>配置如下:

<plugin>

       <groupId>org.apache.maven.plugins</groupId>

       <artifactId>maven-shade-plugin</artifactId>

       <version>1.2.1</version>

       <executions>

              <execution>

                     <phase>package</phase>

                     <goals>

                            <goal>shade</goal>

                     </goals>

                     <configuration>

                            <transformers>

                                   <transformer implementation=”org.apache.maven.plugins.shade.resource.ManifestResourceTransformer”>

                                          <mainClass>com.mycom.mvntest.helloword.HelloWord</mainClass>

                                   <transformer>

                            <transformers>

                     <configuration>

              </execution>

       </executions>

</plugin>

 

打包后执行命令:java-jar target \hello-world-1.0-SNAPSHOT.jar


© 著作权归作者所有

逸风如梦
粉丝 3
博文 16
码字总数 8761
作品 0
郑州
程序员
私信 提问
[CentOS 7专用] Spring MVC/Maven 部署、入门与示例(纯菜鸟专用,一气呵成)

[CentOS 7专用] Spring MVC/Maven 部署、入门与示例(纯菜鸟专用,一气呵成) 前言 针对Spring MVC和Maven的入门教程,网上有较多参考资料。这里重点分享一下在Linux系统上,进行安装、部署和...

暗夜在火星
2018/11/02
411
0
第一章:JAVA项目工程化之项目构建工具maven

版权声明:本文为博主原创文章,转载需注明出处 https://blog.csdn.net/ldz1997106/article/details/82856804 欢迎查看Java开发之上帝之眼系列教程,如果您正在为Java后端庞大的体系所困扰,...

jimisun
2018/09/26
0
0
Maven学习之初识Maven

系统的学习maven 自动化构建Java程序的工具,比较强大,现在很多Java项目都是基于maven构建的,所以有必要学习。而且,太多的hadoop项目也是采用maven添加依赖的。使用maven的另外一个原因是...

Allocator
2017/04/28
0
0
Maven教程初级篇01: 简介

1. Maven的出发点 在进行软件开发的过程中,无论什么项目,采用何种技术,使用何种编程语言,我们都要重复相同的开发步骤:编码,测试,打包,发布,文档。实际上这些步骤是完全重复性的工作...

长征2号
2017/08/02
0
0
学习Spring-security(1)

注:我写这系列文章主要是记录我的搭建一些心得,以及代码。 Spring-Security是Spring提供的一整套完整的权限控制机制,比较简单粗暴,直接通过配置文件的配置 直接来判断你是Pass or Out。而...

Twelve_ZX
2016/11/11
119
0

没有更多内容

加载失败,请刷新页面

加载更多

UAVStack功能上新:新增JVM监控分析工具

UAVStack推出的JVM监控分析工具提供基于页面的展现方式,以图形化的方式展示采集到的监控数据;同时提供JVM基本参数获取、内存dump、线程分析、内存分配采样和热点方法分析等功能。 引言 作为...

宜信技术学院
6分钟前
1
0
MySQL的5种时间类型的比较

日期时间类型 占用空间 日期格式 最小值 最大值 零值表示 DATETIME 8 bytes YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 9999-12-31 23:59:59 0000-00-00 00:00:00 TIMESTAMP 4 bytes YYYY-MM......

物种起源-达尔文
13分钟前
3
0
云服务OpenAPI的7大挑战,架构师如何应对?

阿里妹导读:API 是模块或者子系统之间交互的接口定义。好的系统架构离不开好的 API 设计,而一个设计不够完善的 API 则注定会导致系统的后续发展和维护非常困难。比较好的API设计样板可以参...

阿里云官方博客
16分钟前
1
0
Rancher + VMware PKS实现全球数百站点的边缘K8S集群管理

Sovereign Systems是一家成立于2007年的技术咨询公司,帮助客户将传统数据中心技术和应用程序转换为更高效的、基于云的技术平台,以更好地应对业务挑战。曾连续3年提名CRN,并且在2012年到2...

RancherLabs
21分钟前
2
0
6、根据坐标,判断该坐标是否在地图区域范围内

最近在写配送区域相关的代码,具体需求如下: 根据腾讯地图划分配送区域,总站下边设多个配送分站,然后将订单中的收货地址将其分配给不同的配送分站。 1、地图区域划分(腾讯地图) 1.1、H...

有一个小阿飞
23分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部