常用Maven命令以及生命周期

1、创建 Maven 工程

image

①、在 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…

image

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

image

第三步:查看控制台

image

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

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

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

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

第二步:查看控制台

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

image

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

image

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

image

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

image

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

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

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

image

第二步:查看控制台

image

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

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

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

image

第二步:查看控制台

image

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

image

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

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

image

上面部分来源于:https://www.cnblogs.com/ysocean/p/7416307.html

mvn install 包含 mvn clean吗

Maven三大生命周期

• 生命周期Maven有三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”,这三套生命周期分别是:
• Clean Lifecycle 在进行真正的构建之前进行一些清理工作。
• Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等。
• Site Lifecycle 生成项目报告,站点,发布站点。
• 再次强调一下它们是相互独立的,你可以仅仅调用clean来清理工作目录,仅仅调用site来生成站点。当然你也可以直接运行 mvn clean install site 运行所有这三套生命周期。

• 所以,不含。
再比如:
Clean生命周期一共包含了三个阶段:
pre-clean 执行一些需要在clean之前完成的工作
clean 移除所有上一次构建生成的文件
post-clean 执行一些需要在clean之后立刻完成的工作
mvn clean 中的clean就是上面的clean,在一个生命周期中,运行某个阶段的时候,它之前的所有阶段都会被运行,也就是说,mvn clean 等同于 mvn pre-clean clean ,如果我们运行 mvn post-clean ,那么 pre-clean,clean 都会被运行。这是Maven很重要的一个规则,可以大大简化命令行的输入。
记住,运行任何一个阶段的时候,它前面的所有阶段都会被运行,这也就是为什么我们运行mvn install 的时候,代码会被编译,测试,打包
image.png
package、install、deploy的联系与区别:

  • package命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
  • install命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库
  • deploy命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Apple_Web

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值