目录
1.Nexus介绍
内网访问,内网团队使用一个服务缓存节省外网宽带。
微服务开发中加速 Maven 项目构建,加快团队合作,提高工作效率
允许上传和下载私有库,并且不被外部访问,安全 稳定。
方便内部项目服务的依赖引用,而不需要其他项目的完整源代码。
2.操作步骤
1.下载Nexus
官网地址:Download Repository OSS 但是下载速度比较慢
这里我下载好了打包到了网盘,可以直接通过我的网盘去下载,地址如下:
链接:https://pan.baidu.com/s/1xQpQrV-oM7fpG-mTkQddWQ?pwd=701r
提取码:701r
下载完成后会获得一个压缩包,解压即可
2.安装和启动nexus
默认端口是8081可能会和其他程序端口有冲突,修改nexus端口,可以进入\nexus-3.31.1-01\etc目录,修改nexus-default.properties文件中的port
使用 ./nexus.exe /install nexus安装nexus
安装完成后使用 ./nexus.exe /start启动私库
启动完成后访问localhost:port 访问私库 (localhost:8088)
当看到这个页面就表示安装完成了
3.使用私服
1.登录管理员
启动成功后 密码会随机生成 在\nexus\sonatype-work\nexus3 目录下有一个password文件中
使用这个文件里的密码进行登录,用户名为admin,登录成功后会进行二次验证,这里输入相同的密码即可:
点击next以下是不重要的选择,跟着填就行
最后,admin.password文件是一次性的,当你登录成功改文件会被删除,下次登录相信我你肯定不会记得密码的,所以一定要记得修改用户密码:
2.私服介绍
1.配置参数认识
nuget-hosted:本地存储。像官方仓库一样提供本地私库功能
hosted有三种方式:Releases、Snapshot、Mixed
Releases: 一般是已经发布的Jar包
Snapshot: 未发布的版本
Mixed:混合的
nuget.org-proxy:提供代理其它仓库的类型
nuget-group:组类型,能够组合多个仓库为一个地址提供服务
maven-central:maven中央库,默认从https://repo1.maven.org/maven2/拉取jar
maven-releases:私库打包发行版jar
maven-snapshots:私库快照(调试版本)jar
maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用
2.创建仓库
点击 Create repository创建maven代理仓库(proxy类型)
以阿里云为例,创建本地阿里云代理仓库(也可以创建华为云、腾讯云)
配置好阿里云镜像地址后,点击创建即可,这里提供一个查看阿里云各版本仓库的地址:仓库服务
创建完成后会回到仓库管理页面,这时就能看到我们创建成功的代理仓库了,同时也可以看到代理仓库的状态是否正常
再创建一个本地仓储用来存放release版本的jar包
类型一定要选择release
配置完成后,最后将阿里云镜像配置为优先使用
4.maven使用私库
1.安装maven
2.配置maven
把私库地址配置到maven配置文件中
javascript
<?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">
<!-- <localRepository>C:\\Users\\monke\\.m2\\repository</localRepository> -->
<localRepository>D:\software\apache-maven-3.6.1\repository</localRepository>
<servers>
<!-- 配置本地仓库访问私服的权限 nexus的 登录用户名密码 -->
<server>
<id>nexus</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>
<mirrors>
<!-- 配置本地仓库资源来源 -->
<mirror>
<id>maven-public</id>
<mirrorOf>*</mirrorOf>
<url>http://localhost:8088/repository/maven-public/</url>
</mirror>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
</settings>
项目部署和发布需要在pom.xml中添加 distributionManagement 配置
javascript
<!-- maven仓库配置 deploy时可推送到配置的仓库中 -->
<distributionManagement>
<repository>
<id>maven-releases</id>
<name>Nexus Releases Repository Pro</name>
<url>http://localhost:8088/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>maven-snapshots</id>
<name>Nexus Snapshots Repository Pro</name>
<url>http://localhost:8088/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
3.在项目中打包部署和发布
maven命令介绍:
package 命令完成了项目编译、单元测试、打包功能,但并没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
install 命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓3库,但没有布署到远程maven私服仓库
deploy 命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
使用deploy打包并部署到私库,并在私库中查看
5.向私库添加jar包
公网上找不到的开发包或者是客户提供的特殊的开发包,开发人员可以通过Maven添加jar包,将jar包中的功能添加到私库中供其他链接私库的人使用
流程:
1.添加jar
点击右侧的"Upload",点击"maven-releases"
点击Browse上传准备好的jar包
点击"Extension",填入相对应的jar包文件类型名称。如上传xxxx.jar,则"Extension"填入"jar"
自定义编辑Group ID(输入英语或数字)、Artifact ID(输入英语或数字)和Version。输入完成后,勾上"Generate a POM file with these coordinates",点击"Upload"
注意:这里的设置的id在pom中引入也是用相同的名称
上传完成后,可以点击"view it now"查看
也可以搜索查看
点击搜索到的结果查看上传的jar包的详情
2.使用jar
在pom.xml中,使用刚刚定义的groupId和artifactId以及version即可使用上传的jar包
<dependency>
<groupId>admin</groupId>
<artifactId>test</artifactId>
<version>1.0</version>
</dependency>