欢迎光临
我们一直在努力

Maven的使用笔记

maven

〇、Maven的作用

(用maven命令可以很简单地去建立、打包、部署一个项目)

(Maven是基于项目对象模型,可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具)

(只要在配置文件中写好相关配置,它会自动地去jar包库里获取jar包)

一、环境搭建

          1.去官网下载好Maven的文件,是一个压缩包(其中src结尾的是maven的源代码,bin结尾的是maven编译好的文件包,使用时就用bin结尾的);

          2.配置环境变量,将下载好的maven压缩文件包解压,把里面的bin文件夹目录复制,粘贴到环境变量path的开头,注意最后要以分号结尾;

          3.在windows控制台里输入 mvn –version,若要相关版本信息显示,则说明配置成功;

二、Maven远程库和本地库

          1.当在项目开发过程中,需要引用一些jar包,maven会自动地帮我们获取;

          2.首先maven会在本地库中查找jar包,若找不着,则去远程库中查找,再找不着,它会查看是否有其它特殊的库地址配置信息,再去查找,还是找不着,报错;

          3.配置本地库:

                   默认本地库在C盘->用户名->.m2->repository下,当然我们可以修改本地库的地址;

                   在maven文件包conf文件夹下,setting.xml文件中(称为全局setting.xml),找到<localRepository>标签,在标签内写入我们需要自定义的本地库,并把该setting.xml文件复制一份放在和新本地库同一目录下(称为局域setting.xml),如无特别说明,本文全部setting.xml,都指的是局域setting.xml;

三、Maven基本项目结构

 

四、maven单个项目XML文件配置

0.该文件用以配置项目的基本信息、jar包的依赖;

1.该xml文件名为”pom.xml”,与项目的src目录放在同一目录;

2.pom.xml开头

 

3.项目基本信息

一般还加上version标签,会在项目打包后显示在项目包后;

4.项目依赖(可以理解为引用的其它jar包)

 

五、基本命令使用

0.maven命令是以mvn开头的,要对项目使用命令时,先使用cd命令进入项目根目录,即存放src的目录;

1.mvn complie  编译源码;

2.mvn test 运行测试;

3.mvn package 打包

4.mvn install 在本地仓库中安装jar(即打包后把jar文件放到本地库中)

5.mvn clean 清除产生的项目

 

六、Eclipse中使用Maven

0.eclipse中自带了maven,有时候版本会太新或者太旧,我们可以更新它,而后直接使用;若未自带,装插件;

1.当然也可以指定自己配置好的maven:

(1)在首选项中,找到Maven->Installations ,点击add,在Installation Home填入我们的maven文件包路径;

(2)在User Setting里的User Setting填入setting.xml(本地仓库旁边那个)的文件路径;

2.可以使用Import导入一个maven项目;也可以新建一个maven项目,填写好项目基本信息后会自动生成一个maven的骨架;

3.运行相关Maven命令时,只要右键项目->运行方式->Maven ..(其中Maven Build...可以收到输入命令组合)

七、传递性依赖和依赖冲突

1.当’一个包’引用了’其它两个包’,而’其它两个包’又引用了’其它包’,则’其它包’也会引入’一个包里’;I(a->x  b->y  c->a,b 即c->a,b,x,y )

2.承上,当’其它两个包’引用的’其它包’同样但版本不同时,’当前包’会根据路径(即几重引用)来选择短的包,若路径相同时,则看哪个包先引用;也可以在’当前包’中直接引用’x3.0’,这样’当前包’引用的就是’x3.0’;

          II(a->x1.0  b->x2.0  c->a,b 即c->a,b,x1.0  因为先引用a)

          III(a->x1.0  b->x2.0  c->a,b  f->c,b 即 f->c,b,x2.0 因为b路径短)

          IV(a->x1.0  b->x2.0  c->a,b  f->c,b,x3.0即 f->c,b,x3.0  因为x3.0路径短)

 

3.当然,也可以在’当前包’中排除其它包的引用

          依赖其它包时,在该依赖标签内使用

 

          这样引入了其它包,但是却把指定的传递引用去掉了,比如在上面例子II中,我们可以在c依赖a时,写入排除x的标签,这样c会依赖X2.0;

 

八、聚合与继承

 

九、使用nexus2.x搭建私服

          0.私服作用,起到中心私有的中心仓库作用;原本的中心仓库是在网络上的,下载包时需要联网,速度也一般般;而我们在我们自己的服务器上搭建私服后,该私有仓库就在局域网内,方便共享且速度快;

 

          1.步骤:

                   (1)下载nexus压缩包nexus-2.14.4-03-bundle.zip,并解压到某一目录下;

                   (2)将该nexus文件包的bin路径添加到path环境变量中;

                   (3)在nexus文件包/bin/jsw/conf/ 下的wrapper.conf文件,修改javaJDK的映射路径,如下图:

 

                   (4)使用管理员身份打开命令行窗口,使用 nexus install 将nexus安装到windows服务中去,在使用 nexus start 开启私有仓库;

                   (5)在浏览器 输入 http://localhost:8081/nexus  打开私有仓库管理界面;

 

十、Nexus私服本地相应配置及使用

 

1.获取代理仓库的索引,有索引方便我们查找;在该代理仓库设置Download Remote Indexes为true,nexus就会去下载该仓库的索引,在nexus管理界面的Scheduled Tashs中可以看到下载任务;当然也可以直接把索引文件发到Nexus\sonatype-work\nexus\indexer相应的文件夹中;

 

2.从eclipse发布到远程仓库(私服)

          (1)首先要发布的远程仓库得允许我们发布进去,即在nexus中,仓库设置Deployment Policy为Allow Redeploy;

          (2)在项目pom文件中配置发布管理器,使用<distributionManagement>标签,

                   若项目为snapshots版本,则标签内写<snapshotRepository>及相关配置

                   若项目为release版本,则标签内写<repository>及相关配置

                   相关配置指id(随意) name(随意) url(指定要发布到远程仓库)

          (3)发布到远程仓库一般得有权限,即相关账号密码;权限配置在settting.xml中<servers>标签中写一个或多个<server>来配置:

                   <server>

                             <id>与pom发布管理器中的远程仓库标签ID相对应</id>

                             <username>用户名</username>

                             <password>密码</password>

                   </server>

          (4)使用deploy命令发布;

 

3.私服中新建仓库,有时候我们有些项目开发需要与其它仓库独立开来,方便管理;于是我们可以新建一个仓库,增加相应的权限、角色、用户,来管理仓库;

          (1)在Nexus管理界面中新建本地仓库,注意要允许上传、对应的相关版本;

          (2)在Nexus管理界面侧边的Privileges中增加权限;

          (3)在Nexus管理界面侧边的Relos中增加一个角色,给该角色添加相应权限;

          (4) 在Nexus管理界面侧边的Users增加一个用户(该用户就是我们发布项目时所用的账号密码),并赋予该用户相应角色;

          (5)像上文一样配置setting中的server,pom中的distributionManagement;

 

十一、Maven插件的使用

该配置意思为,在指定的命令运行后,就运行该插件的指定目标;

4.当然也可以在父pom中使用<build><pluginManagement><plugins><plugin>GAV中配置一个插件管理器,然后在子pom中继承它,如同依赖包的继承;

5.更多插件及插件使用方法请往官网查阅http://maven.apache.org/plugins/

 

  • 海报
海报图正在生成中...
赞(0) 打赏
声明:
1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。
2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。
3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。
4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
文章名称:《Maven的使用笔记》
文章链接:https://www.456zj.com/38792.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址