Maven介绍与安装配置

  1. 云栖社区>
  2. 博客>
  3. 正文

Maven介绍与安装配置

技术小阿哥 2017-11-27 10:34:00 浏览1165
展开阅读全文

Maven项目对象模型(POM)是一个项目模块管理工具能很好的管理模块开发、模块jar包的分享,并且可以自动下载工程所需要的依赖包。

在开发的过程中我们需要一些可重用的代码来加快开发的速度,因为总不可能一些通用的代码每次都需要自己编写吧,那样的话效率很低,或许我们可以将这些类复制到别的开发工具中使用,但是一两个类还好说,如果有几十个类该如何复制,而且用复制这种方式的话代码也容易被修改或删除

在早期没有Maven的时候,有一种方式是将可重用的代码打包成jar包,然后用导jar包的方式来将这些可重用的代码模块在不同的开发工具上使用。所以这就有一个问题:如果需要导入很多jar包怎么办?使用的jar包有依赖包怎么办?jar包的代码要进行升级怎么办?

Maven的出现解决了这三个“怎么办”,Maven能够帮助开发人员自动在中央类库上下载依赖包,能够自动批量下载并导入jar包,代码需要进行升级的话只需要更改一下工程的核心配置文件就可以直接发布了,发布后其他用户就可以直接通过Maven的中央类库下载,所以Maven就是帮助我们进行模块化开发的,能够加快开发速度和构建工程环境、管理模块减轻开发人员的压力Maven的中央类库是国际性的,全世界都可以从中央类库上下载自己所需要的jar包。

Maven在下载依赖的包时,会先寻找本地类库有没有,如果没有本地类库就会去企业类库里找,企业类库里还是没有的话,才到中央类库上找,在中央类库上找到后会先保存一份在企业类库,然后再保存一份到本地类库,最后才到达你的项目工程里,所以第一次下载包会慢一些,但是第二次再使用这个包的时候就可以直接在本地类库或者企业类库中寻找到了,而且在公司里其他的开发的人员都可以直接在企业类库中下载需要的包,所以企业类库也起到一个缓存的作用。

示意图:

6c8590c5fd6fc2421cabd3191d3ec2b1.png



Maven中央类库不止一个,有很多个,最常用的是mvnrepository库:

42f320d39cfc524a41760bbd4c29a1c6.png

mvnrepository地址:

https://mvnrepository.com/

 


Maven工具官网下载地址:

  http://maven.apache.org/download.cgi

8a43dcb61030b525e4ab193560bd7dc7.png




Maven的配置:

下载好后需要配置一下系统的环境变量,先新建一个环境变量MAVEN_HOME然后把Maven的bin目录所在的路径粘贴上去,接着把bin目录路径添加到PATH路径里

  1.新建MAVEN_HOME

361d4256ebd502e95019638adfff85b2.png

e28b1c7ac7a109d6c63fd809c7c8a9f6.png



2.bin目录路径添加到PATH路径里:

b159a605c497f06afc1089891fdbbacf.png

8d5fb070a3665ac8c7efe0d0b241af83.png



接着更改Maven的本地库:

481d5466426983f87a7d37a1146908b2.png

98f5a4ea66be1d7b6533803bbed60056.png

2e46ee714d2cec01e1fe38ad5e8bceb9.png

004e437723b37bbabe022ce3d35586c2.png

123272364258a209ac04e2273f68ca82.png

自定义配置好本地库,之后Maven下载的jar包都会在这个文件夹下。




配置中央类库(有需要的才配置,没需要的默认即可无需配置)

73fccf3a0f5cb4761e05312033bc7224.png

d083908554938c7cc409ac61b9aab599.png

c7f6028494a8af5253e74e65f502ddcc.png

8c87fa6288d734152fb2d37645e72e32.png




  然后自己根据自己的需求更改网络地址即可,一般没啥需求的话使用默认的就行了 

7c7a7027e9f1ed52d7f1153b40ecdb23.png





Eclipse中配置Maven的本地库:

  先在Eclipse的菜单栏中点击Window然后点击Preferences进入以下界面:

f325ad32bc76d2e2cb8bec4f9004578b.png

64ef05b8e6b256b19acc11baeae25db1.png

f81006b60215f12c1b8d9e9c82a1236f.png

c7f3506cba01c5a96d4f10c9c072f787.png

MavenEclipse上就配置好了。



接下来打开cmd输入mvn help:system命令,此命令会下载一些系统相关的包:

8e6c05d79394576f3d32482b53e8ba59.png


下载完成:

8a65fe5a14319dad331bcaccce82ade6.png



现在就可以在Eclipse上使用Maven构建项目工程了,使用快捷键Ctrl+n进入以下界面:

a16a570f8ba969cff9ccb2724bd7f0cf.png

a628ae7484f8b88309ec1cb658bca5e9.png



点击下一步后会进入Maven提供的工程模板选择界面,当然自己也可以构建自己的工程模板:

2184d3d9ce4946e75af3b44dc2bebbf4.png



如果不想使用这些模板就返回上一步,勾选跳过模板:

86fd85000dbed76b5e4a9c5afbdddb83.png

11845b1c80f0ceba17d766bee8333aec.png


上图的进一步说明:

Group Id:工程组的id,这个id必须是全球唯一的,所以最好使用域名作为id,因为这id是你工程的唯一识别id,别人下载你的工程包的时候,是根据这个id来下载的,如果与别人的工程id重名会导致混乱。

 

Artifact Id:项目名称和模块名称,如果有子模块或功能就写在后面。

 

Version:表示这个工程的版本,一般创建的时候都是0.0.1的实验版本。

 

Packaging:选择工程的包:jar是普通java工程,pom是文件创建,war包是web工程。

 

Name:工程名字。

 

Description:工程的介绍或说明。

 

Parent Project:父工程信息,有需要则填写无需要可以不填写。

 

 



创建完成,创建的时候会下载一些所需要的文件,等待一下即可:

9a8be0645f6b102bf170c736166345c5.png

26674b6b68407520a70ea736c2ccc197.png



打开配置文件可以查看到工程的一些基本信息:

a48f7ddf03f0a8ab360147cdd8dd0ed7.png



试一下在中央库中下载包:

  例如我要下载Hibernate相关的包,在中央库的网站搜索一下,然后点击一个进去,然后选择自己需要的版本:

22c09faf9272b18281a91b6d3ff33f63.png

cfc09a92e2f0bc6d45de9ab317f62463.png

12379c2b03afe7765dee0b25ba1e9d04.png

382c63440e7dac28e1361d9b04802260.png

  如果把配置文件中的依赖删掉的话,下载的包也会移除,不过并不会删掉,会保存在本地库中,下次使用的时候就会在本地库中找。




共享工程jar给别人使用:

首先要将工程安装到本地库,右键配置文件,选择Run As,接着选择Maven install就会开始发布到本地库了。

  发布完成

bccbb5766d29b95dcbd8701e71f29103.png


接着打开配置文件:

fbbdffccfc104b077cdd1b1922e7b50d.png


复制到另一个开发工具工程的配置文件中:

5e4e10b1e5279f8410cf2b76b366fec0.png

d20fdb50a9a11000577c428f9ca1e400.png

87bd5ff681451d40fcae27fa95633360.png




如果下载的包有依赖包的话会自动下载依赖的包,版本升级的话只需要更改一下版本数字即可:

20630fcade1645b5e8069f7e104323e2.png

然后保存一下,同样的点击配置文件的Maven install发布到本地库中。

 


另一个开发工具的用户只需要更改一下版本号,接着保存就会自动下载:

476e819bbf1cd965ac0ad0ced3fc567c.png

261893a75be7254248c2175553b0e1c2.png

Maven的初步使用就完成了,可以看得出Maven这个工具能够很方便的管理、发布、下载模块或jar包。




本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/1976985,如需转载请自行联系原作者

网友评论

登录后评论
0/500
评论
技术小阿哥
+ 关注