简单搭建 Nexus 私服 - Maven Deploy 上传私服

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决定上传到哪个宿主仓库

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值