Maven九:Maven的常用命令(底层:mvn  archetype:generate;mvn compile;mvn test;mvn package;mvn clean;mvn install)

18
四月
2021

以前Maven的操作都是IDE上的,本篇博客主要介绍这背后的Maven的原生命令。目的是了解Maven背后的命令流程和原理。

即如Eclipse、IDEA这些IDE都对maven这些命令进行了整合,像生成、测试、编译这些环节都是IDE自动帮助我们来完成的;通过本篇博客,可以加深了解下maven底层的命令和执行的过程。 

目录

1.Maven常用命令简介

2.Maven命令实操

(1)mvn  archetype:generate:创建Maven工程结构

So,如何使用Eclipse打开这个工程?

(2)mvn compile:编译源代码

(3)mvn test:执行测试用例

(4)mvn package:项目打包

(5)mvn clean:清除产生的项目

(6)mvn install:安装至本地仓库(有个疑问待解决)


1.Maven常用命令简介

(1)mvn  archetype:generate:自动创建maven标准的工程结构;(具体maven工程的标准工程结构见:Maven三中介绍)

(2)mvn compile:把项目中的源代码进行编译,生成对应的字节码classes文件;

(3)mvn test:maven默认集成了junit(一款测试用例组件),通过这个命令可以一次性执行当前工程中所有已经编写好的测试用例类,来检验之前写的代码是否是正确的;

(4)mvn clean:在项目编译后,这些编译后的文件会保存在target目录中;这个命令会将整个target目录给删除掉,进而让工程保持一个最纯净的环境;

(5)mvn package:项目开发最后的产出物是要把项目打成jar包或者是war包;

(6)mvn install:将前面打好的jar包(或者是war包)发布到本地仓库;(好处是:当我们把工程安装到本地仓库后,开发的其他项目也就可以引用这个打包好的jar包了)。


2.Maven命令实操

(PS:操作前,记得要环境变量的系统变量的path变量中,配置maven的bin目录)

(1)mvn  archetype:generate:创建Maven工程结构

就选择1766了,回车:

pom内容:

So,如何使用Eclipse打开这个工程?

(2)mvn compile:编译源代码

创建了一个工程,中间添加了一些类;;;在运行之前,需要对这些java类进行编译;

(3)mvn test:执行测试用例

编译完了以后,我们的程序到底有没有问题?可以通过mvn test执行测试用例,来检查编译后的东西有没有问题。

test命令:可以自动的帮助我们将当前工程中所有的测试用例执行,并且产生输出的结果:

(4)mvn package:项目打包

假设,在开发的环境下,所有的代码都已经开发完成了,需要进行打包;

package命令:将当前的maven工程打成jar包或者是war包(默认是打成jar包);

这儿我们打的是jar包:
直接使用java -jar命令就可以执行(PS:因为我们这个工程没有指定入口类(指定入口类参见Maven六:项目打包),所以会出现“maven-cmd-1.0.0-RELEASE.jar中没有主清单属性”):

自然,如果打的是war包,将这个war包复制到Tomcat的webapps目录下就可以了;

(5)mvn clean:清除产生的项目

对于当前项目来说,target目录代表了输出的字节码和最终的产出物(jar包或者是war包);如果不想要这个target目录时候,可以使用clean命令,清除target;

(6)mvn install:安装至本地仓库(有个疑问待解决)

项目开发完了,jar包也成功输出了;;;;如何让其他的项目来使用这个jar包?

需要把这个jar包,在本地仓库中进行发布。(疑问:你只在本地仓库发布了,那么多人协同开发的时候,其他同伴如何在他的本地获取这个jar嘞?

这样以后,maven-cmd这个工程被成功发布到了本地仓库中。这样以后,在本地其他的项目,就可以通过maven坐标系来引入这个maven-cmd-1.0.0.RELEASE.jar了;


 

 

 

 

 

TAG

网友评论

共有访客发表了评论
请登录后再发布评论,和谐社会,请文明发言,谢谢合作! 立即登录 注册会员