这里写自定义目录标题
- 下面是maven私库的搭建和项目的引用
- 首先在官网下载nexus的2.0或者3.0版本
- 下图标注的红色框内的几种库的级别需要解释一下
- 重点是配置 maven的settting.xml文件
- 项目当中 pom的修改
- 项目上传和演示
- 总结
下面是maven私库的搭建和项目的引用
首先在官网下载nexus的2.0或者3.0版本
这两个版本无论是页面布局、库的设置位置、还有服务的配置位置都不相同,我这里是两个都下载了。
下面以nexus3.0版本为例(不提供nexus的安装教程)。
下图标注的红色框内的几种库的级别需要解释一下
1、proxy 是只要代理的库,就是可以比如代理阿里的远程库过来。
2、hosted 就是个体库,可以供人去上传和下载jar包
3、group 是库组,一般我们在配置好私库之后,引用这个库组作为我们的私库地址,因为库组是包含了,你想要作为远程库代理的库、私库的,下图是组库和其他库的包含关系:
以上就是中央私库的所有创建部分,当然不包括自己新建一个组库、个体库或者代理库以及人员的增加和相应权限配置。
重点是配置 maven的settting.xml文件
1、中央私库的配置
2、需要上传jar包的中央私库服务配置
如果只是初始化nexus,那么初始化的用户名和密码如图所示。这两个服务都是个体库,也是nexus帮我们初始化过的。
要讲一下 为什么是要配置两个服务,包括项目的pom位置经常会出现 RELEASE 和SNAPSHOS成对出现的情况。
这是因为,maven 是按照 你的jar 是RELEASE 和SNAPSHOS的情况来进行管理的,就是发布和快照版本,那么这里不同的版本,maven会自动识别,进入到RELEASE 或者SNAPSHOS 的个体库当中管理。
项目当中 pom的修改
下图是 pom当中发布jar的管理,注意其中的id,需要和刚才setting.xml当中设置的id保持一致
项目上传和演示
1、首先配置好idea 的maven setting.xml的位置。
2、depoly上传项目到私库。
3、如果你是第一次使用私库,就会发现,无论你项目多么简单,都要花费很长时间来运行。因为虽然可能大部分的依赖本地都存在,但是中央私库会把这个项目所需要的jar,从本地上传至中央私库的代理库当中,导致中央私库的一下子又很多jar包(这里是猜测,因为按理说,本地库存在的jar,不会再去其他位置上折腾了,但是现象是这样,大家有自己的结论可以告诉我)。
4、这个位置,可以看到我们的项目是releases版本的,那么按照规则是要上传到 上面配置的 maven-releases这个id的个体库里面的
没错的,是在 maven-releases 服务对应的库中,而且maven-snapshots并没有这个jar包,验证了上面的会根据项目的版本形式进行保存。
总结
1、配置中央私库
2、setting.xml配置好私库的地址(就是组库的地址)、还有要上传jar的服务
3、配置好项目的maven 路径
4、pom文件 配置好上传jar 的发布路径,其中id 要和setting.xml的id对应。