博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
maven私服的安装与使用
阅读量:4104 次
发布时间:2019-05-25

本文共 3769 字,大约阅读时间需要 12 分钟。

环境搭建

1、linux安装maven

wget 

tar zxvf apache-maven-3.0.5-bin.tar.gz

mv apache-maven-3.0.5 /usr/local/apache-maven-3.0.5

vi /etc/profile

增加:

export MAVEN_HOME=/usr/local/apache-maven-3.0.5

export PATH=$PATH:$MAVEN_HOME/bin

source /etc/profile 

mvn -v

 

2、linux安装nexus

需要的安装包:nexus-2.11.4-01-bundle.tar(csdn下载地址:http://download.csdn.net/detail/carboncomputer/9595216)

需要jdk版本1.7以上

tar zxvf nexus-2.11.4-01-bundle.tar

端口配置文件,可修改端口:/nexus-2.11.4-01/conf/nexus.properties

cd nexus-2.11.4-01/bin

./nexus  start

本地机器访问:

如果启动成功,就会显示如下:

 

如果在启动过程中说要求root权限的。可以百度解决,或者用sudo sh nexus  start启动。

用默认的账号密码登录:admin/admin123

环境就部署好了,现在是使用maven仓库。

注意:严重不提倡使用nexus3.0以上的版本,一开始用这个,安装时很多问题需要解决,此外,新的界面很难使用。官网上也是推荐使用maven时采用nexus2.X版本。

 

maven仓库使用及版本发布管理

点击仓库列表

主要是两个类型:

snapshots:开发过程中的版本仓库

release:正式发布的版本仓库

public:maven主库

3rd party:专门存放第三方的jar,

  1. Releases: 这里存放我们自己项目中发布的构建, 通常是Release版本的, 比如我们自己做了一个FTP Server的项目, 生成的构件为ftpserver.war, 我们就可以把这个构建发布到Nexus的Releases本地仓库. 关于符合发布后面会有介绍.
  2. Snapshots: 这个仓库非常的有用, 它的目的是让我们可以发布那些非release版本, 非稳定版本, 比如我们在trunk下开发一个项目,在正式release之前你可能需要临时发布一个版本给你的同伴使用, 因为你的同伴正在依赖你的模块开发, 那么这个时候我们就可以发布Snapshot版本到这个仓库, 你的同伴就可以通过简单的命令来获取和使用这个临时版本.
  3. 3rd Party: 顾名思义, 第三方库, 你可能会问不是有中央仓库来管理第三方库嘛, 没错, 这里的是指可以让你添加自己的第三方库, 比如有些构件在中央仓库是不存在的. 比如你在中央仓库找不到Oracle 的JDBC驱动, 这个时候我们就需要自己添加到3rd party仓库.

 主要是介绍如何使用nexus来管理版本和本地开发过程。

上传第三方的jar如下:

snapshots、release全部开发允许部署的权限,如下

 

 

Maven deploy部署jar包到远程私仓有两种方法(一种配置setting.xml,一种在pom.xml里面写)

一、现在来看看setting.xml文件里面的配置

dev
nexus
http://127.0.0.1:8081/nexus/content/groups/public/
true
true
nexus
http://127.0.0.1:8081/nexus/content/groups/public
true
true
dev

 

二、第二种pom.xml的内容设置如下:

nexus-releases
Nexus Release Repository
http://127.0.0.1:8081/nexus/content/repositories/releases/
nexus-snapshots
Nexus Snapshot Repository
http://127.0.0.1:8081/nexus/content/repositories/snapshots/

这里配置,让Maven知道当我要发布release版本或者snapshot版本是需要发布到哪个地址.

然后我们需要在setting.xml里面配置一下Nexus的帐号和密码:

    …    
      
        
 nexus-releases
        
 admin
        
 admin123
      
      
        
 nexus-snapshots
        
 admin
        
 admin123
      
       
    …    
 

以上配置好以后,idea里面打包时只需要双击maven里面的deploy按钮就行

关于发布releases版本与snapshots版本的问题,maven会根据模块的版本号(pom文件中的version)中是否带有-SNAPSHOT来判断是快照版本还是正式版本。如果是快照版本,那么在mvn deploy时会自动发布到快照版本库中,如果版本号中没有带SNAPSHOT,deploy时就会发布正式版本。

打开nexus后台查看正式版本:

 

 

而使用快照版本的模块:

       在不更改版本号的情况下,直接编译打包时,maven会自动从镜像服务器上下载最新的快照版本
而使用正式版本的模块,:
       在不更改版本号的情况下,编译打包时如果本地已经存在该版本的模块则不会主动去镜像服务器上下载

所以,我们在开发阶段,可以将公用库的版本设置为快照版本,而被依赖组件则引用快照版本进行开发,在公用库的快照版本更新后,我们也不需要修改pom文件提示版本号来下载新的版本,直接mvn执行相关编译、打包命令即可重新下载最新的快照库了,从而也方便了我们进行开发。

注意:

1、在pom文件中的配置仅对当前项目有效,但若需在其他项目中使用,为避免代码重复性,减少冗余,可在settings.xml文件中配置

转载地址:http://ocfsi.baihongyu.com/

你可能感兴趣的文章
如何用好碎片化时间,让思维更有效率?
查看>>
带WiringPi库的交叉笔译如何处理二之软链接概念
查看>>
Java8 HashMap集合解析
查看>>
自定义 select 下拉框 多选插件
查看>>
fastcgi_param 详解
查看>>
poj 1976 A Mini Locomotive (dp 二维01背包)
查看>>
MODULE_DEVICE_TABLE的理解
查看>>
No devices detected. Fatal server error: no screens found
查看>>
db db2_monitorTool IBM Rational Performace Tester
查看>>
postgresql监控工具pgstatspack的安装及使用
查看>>
【JAVA数据结构】双向链表
查看>>
【JAVA数据结构】先进先出队列
查看>>
谈谈加密和混淆吧[转]
查看>>
乘法逆元
查看>>
Objective-C 基础入门(一)
查看>>
通过mavlink实现自主航线的过程笔记
查看>>
Flutter Boost的router管理
查看>>
iOS开发支付集成之微信支付
查看>>
C++模板
查看>>
【C#】如何实现一个迭代器
查看>>