Maven 的生命周期,插件和命令

Maven 的生命周期,插件和命令

开发工具与关键技术:Java
作者:熊江宇
撰写时间: 2021年11月18日
maven的生命周期,插件和命令
maven的声明周期:项目构建的各个阶段。包括 清理、编译、测试、报告、打包、安装、部署
插件:要完成构建项目的各个阶段,要使用maven的命令,执行命令的功能是通过插件完成的。插件就是jar,一些类。
命令:执行maven功能是由命令发出的。比如 mvn compile
单元测试(junit):
junit是一个单元测试的工具,在java中经常使用。
单元:在java中指的是方法。一个方法就是一个单元,方法是测试的最小单位。
作用:使用junit去测试方法是否完成了要求。开发人员自测。
使用单元测试:
1)加入junit的依赖(一些类和方法)
     <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>3.8.2</version>
         <scope>test</scope>
     </dependency>
2)在src/test/java目录中创建测试类文件。写测试代码
单元测试使用的建议:
1.测试类的定义,名称一般是Test+要测试的类名称
2.测试类它的包名和要测试的类名一样。
3.再类中定义方法,要测试代码。
方法的定义:public方法,
没有返回值
方法名称自定义(建议Test+测试的方法名称)
方法没有参数
4.在测试类中的方法,可以单独执行。测试类也可以单独执行
5.在方法上面加入@Test
命令: 
1) mvn clean:清理命令,作用删除以前生成的数据,删除target目录。
插件: maven-clean-plugin 版本是 2.5
2) mvn compile:编译命令,执行的代码编译,把src/main/java目录中的java代码编译为class文件。同时把class文件拷贝到target/classes目录。这个目录classes是存放类文件的根目录(也叫做类路径,classPath)
插件:maven-compiler-plugin 版本3.1。编译代码的插件
maven-resources-plugin 版本2.6。资源插件,处理文件的。作用是把src/main/resources目录中的文件拷贝到target/classes目录中。
3) mvn test-compile:编译命令,编译src/test/java目录中的源文件,把生成的class拷贝到target/test-classes目录。同时把src/test/resources目录中的文件拷贝到test-classes目录
插件:maven-compiler-plugin 版本3.1。编译代码的插件
maven-resources-plugin 版本2.6。资源插件,处理文件的。
4) mvn test:测试命令,作用执行test-classes目录的程序,测试src/main/java目录中的主程序代码是否符合要求。
插件:maven-surefire-plugin 版本 2.12.4
5) mvn package:打包,作用是把项目中的资源class文件和配置文件都放到一个压缩文件中,默认压缩文件jar类型的。web应用war类型,扩展是jar,war的
插件: maven-jar-plugin 版本 2.4。执行打包处理。生成一个jar扩展的文件,放在target目录下。
打包的文件包含的是 src/main 目录中的所有的生成的class和配置文件 (与test无关)
生成的是 Hello-1.0-SNAPSHOT.jar
     <groupId>com.gx</groupId>
     <artifactId>Hello</artifactId>
     <version>1.0-SNAPSHOT</version>
     <packaging>jar</packaging>
 打包文件名: artifactId-version.packaging
6) mvn install:把生成的打包文件,安装到maven仓库。
插件:maven-install-plugin 版本 2.4。把生成的jar文件安装到本地仓库。
查看仓库中的jar文件
     <groupId>com.gx</groupId>
     <artifactId>Hello</artifactId>
     <version>1.0-SNAPSHOT</version>
     <packaging>jar</packaging>
 groupId中的值,如果有”.“前和后都是独立的文件夹。com/gx
 artifactId,独立的文件
 version,独立的文件夹

上一篇:Maven打包带有依赖信息和Main方法


下一篇:MYSQL笔记加练习(DML部分)