maven系列(1):Windows环境最简使用

maven入门级最简的使用教程,目标是让初学者会编译和运行maven项目,但注意力仍然放在项目的学习和开发上,暂不深究maven的细节,也不探讨集成到开发环境中的用法。熟练使用maven的程序猿请直接绕行或给予热心斧正。

 maven是什么

抛开那些官方的、教条的说法,maven就是在规模较大、复杂度较高的项目中,帮程序员干脏活累活的辅助队友。不带它,所有的事情都要你自己做,带了它你就只关注最重要的事情即可。

maven具体做的事情,初级程序员能理解的主要有:

  • 自动寻找和配置一些第三方写好的库文件(基础库文件不在此列,是你安装java jdk时就装进你的电脑了);
  • 自动编译、测试、打包和运行;

如果你是一个没搞过复杂大项目的初学者,可能觉得这些事情很简单,暂时还理解不了maven的价值,那么你只需要知道遇到项目目录下面有个pom.xml的,都需要用maven启动它,你用传统的javac和java命令是不行滴,而你要做的只是:

  1. 安装并配置maven
  2. 用maven命令(代替javac和java命令)去编译和运行maven项目

安装和配置

有很多种具体方式。这次只教给你可能是最绿色最简单的那种。暂认定初学者是使用windows环境的。使用linux环境的,即使没用过maven,我也不认为需要看我这种风格的教程,你肯定能根据任意一篇教程学会它。

有个前提,你要正确安装过java jdk,这个自行找教程解决。同时,你必须清楚知道你的jdk安装在电脑硬盘的什么位置。

简化只有2步:1、官网下载;2、解压缩

maven官方主页https://maven.apache.org/ 

进了主页以后找到大大的“Download”并进入,页面如下:

当前版本3.6.3(2020年3月) ,后续版本升级了或者页面有改版不要惊慌,静下心来往下滚动页面,找到可下载的文件链接,类似于如下:

红色框内是要下载的文件。后缀tar.gz是linux上用的,这里不表。找到后缀是.zip的,这是windows用的。但是注意有2个,一个是-bin.zip,另一个是-src.zip。要那个-bin.zip,这是拿来只运行的(另一个-src.zip允许你自己修改编译它,暂不表)。

下载完成后得到一个apache-maven-3.6.3-bin.zip的文件(后续版本号可能升级变化)

解压缩得到一个文件夹,如果解压缩时你没改名的话,那么文件夹名就叫做apache-maven-3.6.3这样

把这整个文件夹拷到c盘或d盘根目录,这里是一个强烈的建议,放在其他目录也可以,但作为开发的基本工具,maven完全可以在某个磁盘的根下拥有一个位置。

假设放在D盘,那么现在形如:

嗯,记住这个“D:\apache-maven-3.6.3”(以你安装时的实际版本和目录为准),下文我们称之为“maven安装目录”

 配置结束。重复一下知识点——记住解压缩放在什么地方了。

可能你在其他教程还看到配置系统变量PATH什么之类的,如果你懂那是什么含义,那么不需要我指点你就知道该怎么做了。如果你不懂那么做的含义,只会机械照做,那么暂时先不要管它了,什么都不要做,继续向下。

 

准备:找到mvn命令

“找到命令”是什么涵义?windows中一切可以运行的命令,其实都是对应了一个文件,所以必须找到这个文件才能正确运行命令。maven的命令叫做mvn,对应的文件在这个文件夹:maven安装目录\bin\,全名叫mvn.cmd

进入到 maven安装目录(见上一节) 下面的bin子文件夹,如下:

看到有一个文件名为mvn(这是maven的简写),后缀是.cmd,类型显示“Windows命令脚本”。

注意,还有一个同样名为mvn的文件,但没有后缀,类型只是“文件”,不是它!!

操作系统中如果不显示文件后缀名,最好上某度或某歌搜索“windows 显示后缀名”,把文件后缀名显示出来。这是一个搞IT的人用的电脑的基本设置。

这就是命令文件,找到它了,马上就可以运行了,记住它的位置:maven安装目录\bin\mvn.cmd,再次解释——其中maven安装目录取决于你自己实际安装的位置。

复习知识点:mvn命令在 安装目录\bin\mvn.cmd

 

尝试运行 

现在可以双击运行这个mvn.cmd命令脚本文件,会看到命令行窗口一闪而过。这个操作就相当于你已经运行了一次命令了,只不过是一种不推荐的方式。

为了能看到输出了什么,请独立打开命令行窗口(不会开的自行搜教程),敲入命令mvn,回车:

送给不了解这个现象的读者:命令行窗口又傻又懒,它猜不到也不想猜这个mvn命令对应的文件在哪里,需要我们来告诉它(还记得吗?maven安装目录\bin\mvn.cmd),那么就敲入“maven安装目录\bin\mvn”,回车:

现在看到新奇的画面了,虽然是失败,但证明已经运行起来了,只是运行得不太对。

  1. 打开命令行窗口
  2. 运行命令,命令是mvn,但前面要写清楚命令文件在哪里,形如 D:\apache-maven-3.6.3\bin\mvn 

 

对项目使用mvn命令

本文只假设你拿到了一个别人做好的maven项目,要对这个项目做编译并运行等等,你的关注点在于想马上编译运行那个项目,而不是maven的各种秀操作。

拿到所谓maven项目源代码,正常是个目录(如果拿到的是压缩文件先解压缩得到目录),里面至少会有个pom.xml文件,连这个文件都没有的肯定不是maven项目。

现在要搞清楚,你需要明确知道两个目录:

  1. 一个是maven安装目录,命令文件在那里
  2. 另一个是maven项目目录,源文件在这里

重点来了,一句话描述要做的事:在maven项目目录下,运行mvn命令

举个栗子:

 

  • 红色框A部分,是项目目录,自己随便放,但要在命令行窗口中进入它,文件夹名称最好不要带中文或空格等特殊字符;
  • 绿色框B部分,是maven命令所在目录,前头的部分以你实际安装的位置为准;
  • 紫色框C部分,是maven命令本身,mvn三个字母

这就是所谓“在项目目录下运行mvn命令”

看懂了之后,不要急,不要马上回车。如果你头铁回车了也没关系,会得到失败的提示。

失败的原因,是因为maven可以做好多事,编译、测试、打包、部署、运行等等,方便起见,都是用同一个命令mvn来做,所以你必须在mvn基础上额外告知到底现在要做哪一件事情。

先做两个最基本的,一是编译,二是打包。

等等,为什么编译之后不是运行而是打包?划重点——maven可以帮你运行,但它更倾向于是个开发工具,而不是个运行工具。它帮你编译打包出来,java程序打包无非是jar和war,你按照jar和war正常的启动方式去运行就是了。

编译

编译,就是参考上面例子敲出命令之后,在mvn后面加上compile,注意有空格mvn compile

注:其中的“maven项目目录”和“maven安装目录”以你实际的为准,我这个仅供参考

回车之后会看到大量信息,第一次看到不要怕,习惯就好。

送给英文差的菜鸟:如果看到红色的FAILURE或ERROR等字眼,表示失败了;如果看到绿色的SUCCESS等字眼,表示成功了。怎么解决失败或错误,这是个复杂问题,可以把ERROR后面的信息拷贝出来到某度上去翻译一下或者在CSDN直接查找解决办法,本文暂不展开。

打包和运行

打包,类似地,mvn后面加上空格package就可以了,形如:mvn package

打包完成之后,项目目录下会多出一个子文件夹名叫target,里面有唯一的jar文件或war文件就是了(文件名往往有点超长,初学者不要怀疑它)。

运行jar文件是java -jar xxx.jar,运行war文件是扔到支持java的web容器中(术语叫“部署”)。这就属于java基础知识了。

后记

【慢】编译和打包过程往往会很慢,屏幕上打印大量信息,初学者先不要急。耐着性子体验一下“低配版maven”的性能,熟悉一下过程。之所以慢,是因为默认情况下,所需的库文件都是从国外服务器下载的,这些存放库文件的服务器有个专门的名字叫“maven 仓库”,待到熟悉之后,请某度搜索“maven 阿里镜像”,找个教程,改一下你的maven配置,让它使用咱们国内阿里爸爸的仓库,速度就快很多。正规的软件公司,连阿里爸爸的仓库都嫌慢(或者处于代码安全考虑),会在公司内部服务器上假设私有的仓库,所有程序员都是用私有仓库。这些暂时不表。

【Windows系统变量PATH】不懂PATH含义的初学者看(懂的绕行):上文执行命令时,总要写出maven安装目录,很繁琐,很容易出错。不仅仅mvn命令有这个问题,其他只要不是微软自己的命令,都有同样的痛点,windows不可能事先预知它们在哪,全盘搜索也不现实。所以在windows里面有个办法可以简化之,就是把你可能用到的命令所在的目录写到系统变量PATH上去,这样当你运行一个命令而没有指明它在哪的时候,windows会自动尝试从PATH的目录中去搜索它。基于这个讲解,不懂PATH的菜鸟可以去找一篇设置windows path系统变量的教程来看一看了。最终的目标是你使用maven命令只需要输入mvn

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值