1. 为啥搭建私服玩?
一般来说,在公司进行企业开发,多多少少都会用到私服。
拿 Java 来举例子,在我们进行常见的微服务开发时,最常见的就是在打 Tag 时,我们更新自己模块的 API 接口模块 时。进行一次发版。会对应的更新 项目的版本号,供其他模块使用,例如:
- v 0.0.1-xxx
- v 0.0.2-xxx
大概类似这种。我长时间没有在这种开发环境氛围下了,废话不多说。开始吧。
本文章只能让你能摸到 Nexus 更多的设置需要自己维护学习。切勿重用,
因为你的服务器等于是裸奔,需要一些运维能力做加强。
2. Maven 仓库
Maven中的依赖是从服务器仓库中下载的,Maven的仓库只有两大类:
1.本地仓库
2.远程仓库,其中在远程仓库中又分为 3 种:中央仓库、私服、其它公共库
Maven 用户直接连接远程仓库下载依赖的做法并不是Maven 建议使用的(尤其对一个开发团队来说),Maven 的最佳实践就是使用 Maven 私服来构建真个团队的项目部署和管理。
3. 搭建 Nexus
3.1 进入官网

选择对应版本。
百度云:
https://pan.baidu.com/s/1HpSD5_BKI5uoARB7YaM76w?pwd=bt4m
下载

这里只说 Linux 安装
上传
上传文件夹中的nexus-3.31.1-01-unix.tar.gz到服务器


进入/nexus/nexus-3.31.1-01/etc
编辑 nexus-default.properties修改nexus端口
默认: 8081
进入,这里就不演示了,进去看一眼就知道了
vi nexus-default.properties
启动
编辑完成后,使用./bin/nexus命令启动私库
然后不出意外的化会出现
Detected execution as “root” user. This is NOT recommended!
找到nexus-3.16.1-02/bin下nexus文件
vi编辑
将run_as_root=false 改为run_as_root=true,
还有可能是: 我的是true改false
再次启动就可以了
vi环境下可以使用/run_as_root
4. 启动 nexus
4.1 查看初始密码
启动成功后 密码会随机生成在
\nexus\sonatype-work\nexus3
目录下有一个password文件中


4.2 私服介绍
https://blog.youkuaiyun.com/MrBInsomnia/article/details/139629136


创建: release

配置完成后,最后将阿里云镜像配置为优先使用
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">
<!-- <localRepository>C:\\Users\\monke\\.m2\\repository</localRepository> -->
<localRepository>D:\software\apache-maven-3.6.1\repository</localRepository>
<servers>
<!-- 配置本地仓库访问私服的权限 nexus的 登录用户名密码 -->
<server>
<id>releases</id>
<username>admin</username>
<password>nexus 设置的密码</password>
</server>
<mirrors>
<!-- 配置本地仓库资源来源 -->
<mirror>
<id>maven-public</id>
<mirrorOf>*</mirrorOf>
<url>http://ip: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 配置
<!-- maven仓库配置 deploy时可推送到配置的仓库中 -->
<distributionManagement>
<repository>
<id>releases</id>
<name>Nexus Releases Repository Pro</name>
<url>http://IP:8081/repository/maven-releases/</url>
</repository>
<!-- <snapshotRepository>-->
<!-- <id>maven-snapshots</id>-->
<!-- <name>Nexus Snapshots Repository Pro</name>-->
<!-- <url>http://Ip:8081/repository/maven-snapshots/</url>-->
<!-- </snapshotRepository>-->
</distributionManagement>
打包操作
maven命令介绍:
package 命令完成了项目编译、单元测试、打包功能,但并没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
install 命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓3库,但没有布署到远程maven私服仓库
deploy 命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库

还有就是配好了,可能还是推不上去,Idea 报错
解决:

有没有看看到
id必须也settings文件server - id一样
根据工程的id决定上传到哪个宿主仓库



4105

被折叠的 条评论
为什么被折叠?



