这章我们讲讲几个常用的 Maven 命令。由于执行命令是在工程的基础上来的,所以我们要先创建一个 Maven 工程,具体如何创建,在上一篇博客已经介绍了:http://www.cnblogs.com/ysocean/p/7420373.html

1、创建 Maven 工程

  

  ①、在 src/main/java 新建包 com.ys.maven,然后在这个包中创建类 HelloMaven.java

package com.ys.maven;

public class HelloMaven {

	//传入一个字符串并返回
public String Hello(String name){ return name;
}
}

  ②、在 src/test/java 新建包 com.ys.maven,然后在这个包中创建类 HelloTest.java

package com.ys.maven;

import junit.framework.Assert;
import org.junit.Test; public class HelloTest { @Test
public void testHello(){
HelloMaven he = new HelloMaven();
String name = he.Hello("Tom");
//判断 Hello 传入的参数是否是 "maven"
Assert.assertEquals("maven", name);
} }

  ③、pom.xml 文件如下:

<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion>
<groupId>com.ys</groupId>
<artifactId>hellomaven</artifactId>
<version>0.0.1-SNAPSHOT</version> <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.0</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>

  为什么要这样写,我们后面会详细讲解。

  

2、Maven 的常用命令

1、mvn compile 编译,将Java 源程序编译成 class 字节码文件。
2、mvn test 测试,并生成测试报告
3、mvn clean 将以前编译得到的旧的 class 字节码文件删除
4、mvn pakage 打包,动态 web工程打 war包,Java工程打 jar 包。
5、mvn install 将项目生成 jar 包放在仓库中,以便别的模块调用

  

  ①、compile:将Java 源程序编译成 class 字节码文件。

  第一步:选择 pom.xml 文件,右键--->Run As ---->2 Maven build...

  

  第二步:在第一步执行完后弹出来的对话框中,输入 compile,然后点击 Run 按钮

  

  第三步:查看控制台

  

  第四步:在 target 目录下,我们会发现编译生成的 class 文件

  ②、test:测试,并生成测试报告

    第一步:选择 pom.xml 文件,右键--->Run As ---->2 Maven build...,然后在弹出框中输入 test

      或者选择 pom.xml 文件,右键--->Run As------>6 Maven test,如下图

  第二步:查看控制台

  分析测试程序,我们传入的参数是Tom,而我们希望的是maven,很显然是不相等的,那么测试失败

  

   如果测试类 HelloTest.java改为如下:
 
 

  

  重新执行 mvn test 命令,控制台如下:

  

  生成的测试报告可以在如下目录查看:target/surefire-reports

  

  

  ③、mvn clean 将以前编译得到的旧的 class 字节码文件删除

  第一步:选择 pom.xml 文件,右键--->Run As ---->2 Maven build...,然后在弹出框中输入 clean

    或者选择 pom.xml 文件,右键--->Run As------>3 Maven clean,如下图

   
  

  第二步:查看控制台

   
 
    

  第三步:发现 mvn compile 编译好的文件这时已经清除了

  

  ④、mvn pakage 打包,动态 web工程打 war包,Java工程打 jar 包。

  第一步:选择 pom.xml 文件,右键--->Run As ---->2 Maven build...,然后在弹出框中输入 package

    

  第二步:查看控制台

  

  第三步:进入到 target 目录,会发现打出来的 jar 包

  

  ⑤、mvn install 将项目生成 jar 包放在仓库中,以便别的模块调用

  这里我们就不截图了,执行命令后,进入到 settings.xml 文件中配置的仓库,你会发现生成的 jar 包

  

Maven详解(四)------ 常用的Maven命令的更多相关文章

  1. Maven详解(二)------ Maven的安装配置

    1.下载 Maven ①.官网下载地址:http://maven.apache.org/download.cgi ②.百度云盘:http://pan.baidu.com/s/1eS1NVYa 密码:9 ...

  2. Maven详解(一)------ Maven概述

    1.引言 你能搜到这个教程,说明你对 Maven 感兴趣,但是又不是太理解.那么接下来这个系列的教程将会详细讲解 Maven 的用法,相信你看完之后,一定能对 Maven 的理解更进一步! 2.常规项 ...

  3. Maven详解(三)------ Maven工程目录介绍

    上一章我们配置并安装好了 Maven,那么这一章我们介绍如何用eclipse创建一个 Maven 工程,然后介绍 Maven 工程的目录结构. 1.eclipse 创建 Maven 工程 第一步:Fi ...

  4. Git 命令详解及常用命令

    Git 命令详解及常用命令 Git作为常用的版本控制工具,多了解一些命令,将能省去很多时间,下面这张图是比较好的一张,贴出了看一下: 关于git,首先需要了解几个名词,如下: 1 2 3 4 Work ...

  5. [转帖]Ipvsadm参数详解(常用命令)

    Ipvsadm参数详解(常用命令) 2013年11月29日 12:41:40 怀素1980 阅读数:15901   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...

  6. RMAN命令详解和常用汇总

    RMAN命令详解和常用汇总转摘汇集,日后使用本文链接:https://blog.csdn.net/EVISWANG/article/details/50448370http://blog.itpub. ...

  7. linux useradd(adduser)命令参数及用法详解(linux创建新用户命令)

    linux useradd(adduser)命令参数及用法详解(linux创建新用户命令) useradd可用来建立用户帐号.帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号 ...

  8. linux dmesg命令参数及用法详解(linux显示开机信息命令)

    linux dmesg命令参数及用法详解(linux显示开机信息命令) http://blog.csdn.net/zhongyhc/article/details/8909905 功能说明:显示开机信 ...

  9. android shape的使用详解以及常用效果(渐变色、分割线、边框、半透明阴影效果等)

    shape使用.渐变色.分割线.边框.半透明.半透明阴影效果. 首先简单了解一下shape中常见的属性.(详细介绍参看  api文档 ) 转载请注明:Rflyee_大飞: http://blog.cs ...

  10. 分区工具parted的详解及常用分区使用方法【转】

    来源:http://blog.51cto.com/zhangmingqian/1068779 分区工具parted的详解及常用分区使用方法 一.         parted的用途及说明 概括使用说明 ...

随机推荐

  1. 18-EasyNetQ:发生错误的情况

    这一篇文章让我们看看在消息系统中可能发生的各种错误的情况下,看下EasyNetQ如何处理它们. 订阅服务挂了 当你写了一个windows 服务,用来订阅一个NewCustomerMessage消息. ...

  2. JS实现悬浮导航的制作--web前端

    思想:导航在这里只有两种状态,一种是初始状态.一种是固定布局状态.实现悬浮导航其实就是通过Javascript脚本语言控制导航的两种状态,主要是对两种状态成立条件的判断,明确了这些,实现起来就不会太难 ...

  3. css中的层叠性及权重的比较

    假如同一个标签被多个选择器选中,每个选择器都设置了相同的样式,浏览器中加载时这个样式听谁的? 不同选择器设置的同一个样式,只会选择一个进行加载,不会叠加. 为了解决听谁的问题,引入层叠性的概念. 层叠 ...

  4. volume 生命周期管理 - 每天5分钟玩转 Docker 容器技术(44)

    Data Volume 中存放的是重要的应用数据,如何管理 volume 对应用至关重要.前面我们主要关注的是 volume 的创建.共享和使用,本节将讨论如何备份.恢复.迁移和销毁 volume. ...

  5. 微信小程序多宫格抽奖

    最近闲来无事,做了一个多宫格抽奖的例子,有什么需要改进或者错误的地方,请留言,谢谢 首先看效果 思路是先让其转动2圈多,然后再进行抽奖,格子运动用的是setTimeout,让其运行的时间间隔不一样,然 ...

  6. 常用的DNS

    中国互联网络中心(推荐,安全又快速):1.2.4.8.210.2.4.8.101.226.4.6(电信及移动).123.125.81.6(联通)阿里DNS:223.5.5.5.223.6.6.6goo ...

  7. Ubuntu安装桌面环境

    1.安装Ubuntu默认的Gnome桌面: sudo apt-get install ubuntu-desktop 2.不安装默认组件,例如Evolution和OpenOffice: sudo apt ...

  8. Ambari安装之部署3个节点的HA分布式集群

    前期博客 Ambari安装之部署单节点集群 其实,按照这个步骤是一样的.只是按照好3个节点后,再做下HA即可. 部署3个节点的HA分布式集群 (1)添加机器 和添加服务的操作类似,如下图 之后的添加a ...

  9. Sqlserver事务备份和还原实例

    create database mydb use mydb go create table account( id ), name ), balance float ) go select * fro ...

  10. 关于frameset的一些小总结

    如果我们在一个页面需要由多个子页面一同组成,那么我们可以通过frameset标签来嵌套别的页面 例如 这样的页面布局的思路是: 1,先将页面分为上下两部分也就是 A B 2,再将B部分分为左右两部分 ...