赞
踩
对maven来说仓库分为两类:本地仓库和远程仓库,有三种专门的Maven仓库管理软件可以用来帮助我们建立私服:chiva、Artifactory和Nexus。Nexus是当前最流行的Maven仓库管理软件。Nexus包含了各种类型的仓库的概念,包括代理仓库、宿主仓库、仓库组等。每一种仓库都提供了丰富实用的配置参数,方便用户根据需要进行定制。
1、Linux系统
2、JDK1.8
3、Maven
特别说明:由于官网是国外网站,下载速度属实慢的一批,建议还是线下下载
百度云下载地址:
链接:https://pan.baidu.com/s/1sv1aFlawnqguevDntMBaOQ?pwd=69dx
提取码:69dx
1、进入到soft目录
cd /home/soft
2、新建nexus目录
mkdir nexus
3、进入到nexus目录
cd nexus
4、使用rz指令上传压缩包
rz
5、耐心等待上传完成后进行解压
tar -zxvf nexus-3.31.1-01-unix.tar.gz
6、解压完会有两个文件夹ll
- nexus-3.31.1-01 用于实现 nexus 功能
- sonatype-work 用于存储数据
默认端口是 8081,如果要修改,可以在 sonatype-work/nexus3/etc 目录下的 nexus.properties 配置文件,将 application-port 配置成你要的端口号即可
打开防火墙配置文件
vim /etc/sysconfig/iptables
添加开放端口:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8090 -j ACCEPT
重启防火墙服务
service iptables restart
start命令启动(后台进程形式)
./nexus start
这样就部署好了。
注意:
有些 Nexus 的版本中,是有默认配置的账号(admin)、密码(admin123)的,如果登录失败的话,可以在 sonatype-work/nexus3 目录下 的 admin.password 文件中查看初始化密码。
- 进入 admin.password 文件所在目录
- cd /usr/local/nexus/sonatype-work/nexus3
- 查看 admin.password 文件文本内容
- cat admin.password
- 或
- vi admin.password
- 或
- vim admin.password
出来的一串字符就是我们登录的密码
(1)仓库
仓库名 | 描述 |
maven-central | maven中央库,默认从https://repo1.maven.org/maven2/拉取jar |
maven-release | 私库发行版jar |
maven-snapshots | 私库快照(调试版本)jar |
maven-public | 仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用 |
(2) 类型
类型 | 描述 |
group(仓库组类型) | 用于方便开发人员自己设定的仓库 |
hosted(宿主类型) | 内部项目的发布仓库(内部开发人员,发布上去存放的仓库) |
proxy(代理类型) | 从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的Configuration页签下Remote Storage Location属性的值即被代理的远程仓库的路径) |
virtual(虚拟类型) | 虚拟仓库(这个基本用不到,重点关注上面三个仓库的使用) |
Maven可直接从宿主仓库下载构件,也可以从代理仓库下载构件,而代理仓库间接的从远程仓库下载并缓存构件,为了方便,Maven可以从仓库组下载构件,而仓库组并没有实际的内容(下图中用虚线表示,它会转向包含的宿主仓库或者代理仓库获得实际构件的内容)
经过上面对仓库的一些了解,接下来我们进行创建仓库,分为是 代理仓库(proxy) 、宿主仓库(hosted) 、仓库组(group) ,点击主页上面的小螺丝然后在选择 Repositories 进入仓库管理列表,然后就可以开始创建我们的仓库啦,选择仓库类型的时候一定要选择 maven2
我们使用阿里的中央仓库
https://maven.aliyun.com/repository/central
其中第5步,记得点击View Certificate
完事之后直接滑到下面点击创建
这里可以创建 releases 和 snapshot 类型的仓库,这里就演示一种
第二步中可选择 Release,snapshot,mixed 我们通常使用release和snapshot.
第三步默认Allow redeploy
完事之后直接滑到下面点击创建
其中成员就是我们之前创建的仓库
File->setting->Build,Execution,Deployment->Build Tools->maven
1是maven配置的位置
2:maven的地址
3:xml文件的位置
4:本地maven仓库的位置
添加以下代码到 servers标签中 用于上传jar包
- <server>
- <id>releases</id><!--对应项目pom文件中设置的-->
- <username>admin</username>
- <password>admin123</password>
- </server>
- <server>
- <id>snapshots</id><!--对应项目pom文件中设置的-->
- <username>admin</username>
- <password>admin123</password>
- </server>
添加以下代码到 mirrors 标签中 用于拉取上传的 jar 包
- <mirror>
- <id>maven-central</id>
- <mirrorOf>*</mirrorOf>
- <name>my maven resp</name>
- <url>http://192.168.171.5:8081/repository/me-release/</url>
- </mirror>
找到需要上传.jar包的模块中的pom文件(项目全部jar包都要上传,则可以在项目最外层的pom.xml)中加入以下代码到 project 标签下
- <distributionManagement>
- <repository>
- <id>releases</id>
- <name>Nexus Release Repository</name>
- <url>http://192.168.171.5:8081/repository/me-release/</url>
- </repository>
- <snapshotRepository>
- <id>snapshots</id>
- <name>Nexus Snapshot Repository</name>
- <url>http://192.168.171.5:8081/repository/me-snapshots/</url>
- </snapshotRepository>
- </distributionManagement>
打开 IDEA 的 右侧的 Maven Projects 窗口,依次点击 左上角的 reimport图标、LifeCycle 下的 deploy
1:执行构建并上传到nexus
2:显示上传成功。
在pom文件中引入:
- <dependency>
- <groupId>com.iflytek.whb</groupId>
- <artifactId>StudyDemo</artifactId>
- <version>1.0</version>
- </dependency>
vim /etc/init.d/nexus
- #!/bin/sh
- #chkconfig:2345 20 90
- #description:nexus
- #processname:nexus
-
- export JAVA_HOME=/home/soft/jdk
- case $1 in
- start) su root /home/soft/nexus/nexus-3.31.1-01/bin/nexus start ;;
- stop) su root /home/soft/nexus/nexus-3.31.1-01/bin/nexus stop ;;
- status) su root /home/soft/nexus/nexus-3.31.1-01/bin/nexus status ;;
- restart) su root /home/soft/nexus/nexus-3.31.1-01/bin/nexus restart ;;
- dump) su root /home/soft/nexus/nexus-3.31.1-01/bin/nexus dump ;;
- console) su root /home/soft/nexus/nexus-3.31.1-01/bin/console ;;
- *) echo "require command | start | stop | restart | status | dump " ;;
- esac
chmod +x /etc/init.d/nexus
chkconfig --add nexus
chkconfig --list
service nexus start
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。