这一篇,主要讲解一下Nexus的搭建方法和如何正确的玩转Nexus。
一、安装
1、源码方式安装
因nexus比较消耗资源,linux环境需要提供至少2G以上内存
1、下载源码包
地址:https://pan.baidu.com/s/1XIMjaq3QYDJ0cULl1WIK6A
提取码:71vx
2、解压
tar -zxvf nexus-3.15.2-01-unix.tar.gz -C nexus
3、设置用户并启动
进入nexus-3.15.2-01目录的bin下, 执行 vim /bin/nexus.rc
输入以下内容
run_as_user="root" |
然后在bin目录下,执行 ./nexus start
出现如下图内容,则表示启动成功
4、启动成功后,浏览器访问“http://192.168.1.130:8081/”
输入admin/admin123登录
2、使用
点击设置按钮进入如下图的页面
从上图中,标示出来的,需要说明一下
group(仓库组类型--门面):组合自己的多个库,成为一个路径对外提供服务; hosted(宿主类型):内部项目的发布仓库,内部jar存在在这; |
1、配置国内加速代理
因maven中央仓库速度慢,我们一般优先使用国内远程仓库,这里配一个aliyun代理
如上面图所示,配置好后,保存配置。
2、调配nexus对外的门面
如上图,配置好后,保存配置。
如此,当查询构件时,会依次查releases/napshots/aliyun/central这四个库;
优先级:本地最优先,aliyun次之,central最末(因其速度最慢)
3、使用nexus拉取jar包
首先,获得nexus对外提供的地址,如下图
将复制出来的地址配置到maven的配置文件中,如下图
那么如上图这种配置,实际是对全局起作用。即整个maven都生效。
最后maven配置文件的内容如下
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!--本地仓库。该值表示构建系统本地仓库的路径。其默认值为${user.home}/.m2/repository。 -->
<!--mvn help:effective-settings : 用该命可以看出哪生效的是哪一个setting.xml-->
<localRepository>H:\repository\seata-source-repository</localRepository>
<!--<localRepository>H:\xiangxue_repository</localRepository>-->
<!--如果搭建了私服了的话,就需要配置,否则就不需要配置-->
<servers>
<!--账号密码配置,用于上传最新的发布版本jar包到私服-->
<server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<!--账号密码配置,用于上传最新的快照版本jar包到私服-->
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
<!--配置国内的镜像-->
<mirrors>
<!-- 本地私服镜像 -->
<mirror>
<id>my-nexus</id>
<name>maven test</name>
<mirrorOf>*</mirrorOf>
<url>http://192.168.1.130:8081/repository/maven-public/</url>
</mirror>
<!--阿里云镜像-->
<!--<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>CN</id>
<name>OSChina Central</name>
<url>http://maven.oschina.net/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>-->
</mirrors>
<profiles>
<profile>
<id>jdk-1.8</id>
<activation>
<jdk>1.8</jdk>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>
</settings>
编译效果如下图
访问nexus,可以看到,所以的jar包都被截留了一份保存在私服中了。
当然,还有另一种配置方式,就是在项目中配置,那么就只对所在的项目起作用。如下图这样配置,当然地址不对哈,需要改成你自己的私服地址。
4、上传jar包到nexus
1)手动上传
直接在nexus的界面上,使用upload上传。操作如下图
2)使用命令上传
命令方式上传,需要权限验证。这个权限需要在maven的settings.xml配置文件当中配置
按照上面配置好后,还需要在项目的pom.xml文件中作以下配置
接着,就是如何发布jar到nexus上,操作如下图
由于发布到nexus上去的jar一般情况下都是正式版,不允许被覆盖,所以还要设置发布配置,操作如下