zoukankan      html  css  js  c++  java
  • maven的生命周期及常用命令的使用

    1. maven生命周期,maven的命令,maven的插件

    • maven的生命周期:就是maven构建项目的过程,清理,编译,测试,报告,打包,安装,部署
    • maven的命令: maven独立使用,通过命令,完成maven的生命周期的执行。
      maven可以使用命令,完成项目的清理,编译,测试等
    • maven的插件: maven命令执行时,真正完成功能的是插件,插件就是一些jar文件,一些类。

    1)单元测试(测试方法):用的是junitjunit是一个专门测试的框架(工具)。

    • junit测试的内容:测试的是类中的方法,每一个方法都是独立测试的。
    • 方法是测试的基本单位(单元).
    • maven借助单元测试,批量的测试你类中的大量方法是否符合预期的。

    2)使用步骤

    1.加入依赖,在pom.xml加入单元测试依赖

    <!--单元测试-->
    <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifaatId>
    <version>4.11</version>
    <scope>test</scope>
    </dependency>
    

    2.在maven项目中的src/test/java目录下,创建测试程序。

    1.测试类的名称是Test +你要测试的类名
    2.测试的方法名称是:Test +方法名称

    例如你要测试HelloMaven ,创建测试类TestHelloMaven

    @Test
    public void testAdd(){
    	测试HelloMaven的add方法是否正确
    }
    
    • 其中testAdd叫做测试方法,它的定义规则
      1.方法是public的,必须的
      2.方法没有返回值,必须的
      3.方法名称是自定义的,推荐是Test +方法名称
      4.在方法的上面加入@Test

    在这里插入图片描述

    1. mvn clean

    mvn clean会清理项目中存在的target目录
    在这里插入图片描述

    • 上面这个插件的作用就是清除 target 目录的

    2. mvn compile

    • mvn compile 命令用来编译 Hello\src\main\java\com\xdr630下的 java 文件的,编译main/java/目录下的javaclass文件,把main/resources目录下的所有文件都拷贝到target/classes目录下
      在这里插入图片描述
      在这里插入图片描述

    • 图中有两个插件,compiler插件的作用是将Hello\src\main\java 路径下的java 文件编译成 class 文件放在 target\classes 路径下

    • resources插件作用如下案例:假设在 resources 文件下创建一个空文件 config.txt
      在这里插入图片描述

    • 重新编译一次:mvn compile
      在这里插入图片描述
      在这里插入图片描述

    • resources 插件的作用就是把resources 文件夹下的文件 复制到 target\classes
      在这里插入图片描述

    3. mvn test-compile

    • mvn test-compile命令用来编译测试,如下:在 test/java/下新建测试文件
      在这里插入图片描述
      mvn compile 用到的插件是一样的,把编译的源文件放到 target\test-classes

    4. mvn test

    当执行 mvn test 命令时,按生命周期会把前面的命令mvn clean、 mvn compile、mvn test-compile)都给执行一遍。

    • 如:把测试代码放到
      在这里插入图片描述
    package com.xdr630;
    
    import org.junit.Assert;
    import org.junit.Test;
    
    public class TestHelloMaven {
    	@Test
       	public void testAdd() {
    		System.out.println( "====maven junit testAdd ()===");
    		HelloMaven hello = new HelloMaven();
    		int res = hello.add(10,20);
    		//验证10+20是不是20 ,junit提供的方法,对比结果的
    		//assertEquals(期望值,实际值),如果两个值相等证明是正确的,不等就抛异常,错误了
    		
    		Assert.assertEquals(30,res);
    	}
    }
    
    
    • 执行 mvn test
      在这里插入图片描述

    • 测试成功或失败,都会生成一个测试日志,在 E:\maven_work\Hello\target\surefire-reports
      在这里插入图片描述
      在这里插入图片描述

    5. mvn package

    • 执行打包的时候用到的是maven-jar-plugin 插件,把类文件和配置文件打包成一个jar包,放到 target
      在这里插入图片描述
      在这里插入图片描述

    • 打包生成的项目名是在 pom.xml 中的 artifactId-version 来命名的
      在这里插入图片描述

    • 用压缩工具打开生成的 jar
      在这里插入图片描述
      在这里插入图片描述

    • 发现生成的jar文件中只有 src/main/ 下所有的文件,没有 test 文件

    6. mvn install

    • 就是把生成在target的 jar 文件安装在仓库中去,方便别人调用
      在这里插入图片描述

    • 每个项目可根据 pom.xmlgroupId坐标来找,如:
      在这里插入图片描述

    • com.xdr630就代表一个com/xdr630的文件夹
      在这里插入图片描述

    • com/xdr630/ 文件夹下就有以artifactId命名的项目名

    • 再进去就是version版本号文件夹,里面就有jar
      在这里插入图片描述
      在这里插入图片描述

    • 用法:在其他maven项目中引用坐标就能调用jar文件中的方法了

    <dependency>
    	<groupId>com.xdr630</groupId>
    	<artifactId>ch01-maven</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
    

    本文来自博客园,作者:兮动人,转载请注明原文链接:https://www.cnblogs.com/xdr630/p/15254795.html

  • 相关阅读:
    【NLP之文本摘要】4_oov和word repetition问题
    【文本摘要项目】5性能提升之PGN模型
    案例学习Transformer 及其实现细节]
    【NLP之文本摘要】3NLG过程及其优化与模型评估
    案例学习理解语言的 Transformer 模型
    【文本摘要项目】4解码算法及模型测试结果评估
    【NLP之文本摘要】5_transformer模型初级探索
    【文本摘要项目】6性能提升之Transformer模型
    【文本摘要项目】7性能提升之基于Transformer的PGN模型
    指针作为参数传入函数的陷阱
  • 原文地址:https://www.cnblogs.com/xdr630/p/15254795.html
Copyright © 2011-2022 走看看