当前位置: 首页 > news >正文

Maven私服部署与JAR文件本地安装

Nexus3 是一个仓库管理器,它极大地简化了本地内部仓库的维护和外部仓库的访问。
平常我们在获取 maven 仓库资源的时候,都是从 maven 的官方(或者国内的镜像)获取。团队的多人员同样的依赖都要从远程获取一遍,从网络方面来说,这是非常耗时的。这时候就需要在局域网内部署一个 Nexus3 用来管理 Maven(apt、yum、gradle、pypi、docker 等等)仓库。
有些公司都不提供外网给项目组人员,因此就不能使用 maven 访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建 Nexus3 私服,然后开发人员连到这台私服上,这样的话就可以通过这台搭建了 Nexus3 私服的电脑访问 maven 的远程仓库。

一、私服NEXUS安装部署

1.1 官网下载

下载地址: https://www.sonatype.com/products/repository-oss-download
随便填一下进行下载
选择自己的版本,这里我选UNIX

1.2 安装部署

scp Downloads/nexus-3.65.0-02-unix.tar.gz root@10.211.55.38:~
scp Downloads/jdk-8u391-linux-aarch64.tar.gz root@10.211.55.38:~
tar -zxvf nexus-3.65.0-02-unix.tar.gz -C /opt/
tar -zxvf jdk-8u391-linux-aarch64.tar.gz -C /opt/vim ~/.bash_profile
# 内容BEGIN
export PATH=$PATH:'/opt/nexus-3.65.0-02/bin'
export JAVA_HOME='/opt/jdk1.8.0_391'
PATH=$PATH:$JAVA_HOME/bin
# 内容ENDsource ~/.bash_profile
[root@nexus ~]# nexus 
WARNING: ************************************************************
WARNING: Detected execution as "root" user.  This is NOT recommended!
WARNING: ************************************************************
Usage: /opt/nexus-3.65.0-02/bin/nexus {start|stop|run|run-redirect|status|restart|force-reload}

提示

Detected execution as "root" user.  This is NOT recommended!

nexus
解决

# https://www.cnblogs.com/fzhu/articles/15248776.html
vim /opt/nexus-3.65.0-02/bin/nexus.rc
# 1.加入run_as_user=root
# 2.或者加入系统变量export RUN_AS_USER=root
# 3.vim nexus; 成run_as_root=false 
vim /opt/nexus-3.65.0-02/bin/nexus
# 4.或者添加nexus用户(非必要),即:
useradd nexus
chown -R nexus:nexus /opt/nexus
然后 su nexus 执行:./nexus start 就成功了。

在这里插入图片描述
关闭防火墙

# 关闭防火墙
systemctl stop firewalld && systemctl disable firewalld

访问: http:10.211.55.38:8001
在这里插入图片描述
在这里插入图片描述

cat /opt/sonatype-work/nexus3/admin.password
9ed814d8-f1ad-4a07-b57f-85fe79eb9918

mima
在这里插入图片描述

在这里插入图片描述
点击Next进行修改密码,输入新密码进行修改,这里我改成admin123
关闭匿名登录,启用匿名访问意味着默认情况下,用户骨以翟没省覺提的懵現早伙等储库中搜索、浏览和下载组件。
请考虑对组织的安全影响。应小心选择禁用匿名访问,因为它将需要所有用户和/或生成工具的凭据。
这个看个人要求了,我这里就禁用了。

Nexus 有 3 个类型的数据仓库,分别是 hosted,proxy,group

hosted 宿主仓库:主要用于部署无法从公共仓库获取的构件以及自己或第三方的项目构件;
proxy 代理仓库:代理公共的远程仓库;

group 仓库组:Nexus 通过仓库组统一管理多个仓库,这样我们在项目中直接请求仓库组即可请求到仓库组管理的多个仓库。

Nexus 预定义了 2 个本地仓库,分别是 maven-releases, maven-snapshots

  • maven-releases: 这里存放我们自己项目中发布的构建,通常是 Release 版本的也就是正式版。
  • maven-snapshots: 这个仓库非常的有用,它的目的是让我们可以发布那些非 release 版本,非稳定版本,也就是快照版。

在这里插入图片描述
手动上传本地 jar 包,例 ojdbc6-11.2.0.4.jar(当然你可以任选 jar 包上传)
在这里插入图片描述
在这里插入图片描述
这样一个jar包就上传成功了。

如果你的工程中,使用的 jar 包,在私服中没有,他就会自动连接远程仓库进行下载,这不是我们希望的结果,我们希望它去阿里 maven 库去下载,这样下载速度会更快。
在这里插入图片描述
在这里插入图片描述
我们需要创建一个代理仓库,代理阿里Maven仓库
阿里仓库地址: https://developer.aliyun.com/mvn/guide
在这里插入图片描述
点击保存,然后选择maven-public
在这里插入图片描述
完成!

maven配置 conf/settings.xml

上传

<servers><!-- 发布版 --><server><id>releases</id><username>admin</username><password>admin123</password></server><!-- 快照版 --><server><id>snapshots</id><username>admin</username><password>admin123</password></server>
</servers>

下载

<mirrors><mirror><id>nexus</id><mirrorOf>*</mirrorOf><name>nexus maven</name><url>http://10.211.55.38:8081/repository/maven-public/</url></mirror>
</mirrors>

项目配置

<distributionManagement><repository><id>releases</id><name>maven-releases</name><url>http://10.211.55.38:8081/repository/maven-releases/</url><uniqueVersion>true</uniqueVersion></repository><snapshotRepository><id>snapshots</id><name>maven-snapshots</name><url>http://10.211.55.38:8081/repository/maven-snapshots/</url><uniqueVersion>true</uniqueVersion></snapshotRepository>
</distributionManagement>

只要执行命令 mvn deploy即可。

这里配置了两个仓库,一个正式版、一个快照版,maven 是如何区分你要发布到哪一个仓库呢?

如果你的版本带着 releases,也就是 0.0.1-releases,就会发布到 maven-releases。

如果你的版本带着 snapshots,也就是 0.0.1-snapshots,就会发布到 maven-snapshots。

装依赖到私服快照仓

mvn deploy:deploy-file
-DgroupId=com.oracle.database.jdbc
-DartifactId=ojdbc6
-Dversion=11.2.0.4
-Dpackaging=jar
-Dfile=~/Downloads/ojdbc6-11.2.0.4.jar
-Durl=http://10.211.55.38:8081/repository/maven-snapshots/
-DrepositoryId=snapshots

二、安装依赖到本地

mvn install:install-file
-DgroupId=com.oracle.database.jdbc
-DartifactId=ojdbc6
-Dversion=11.2.0.4
-Dpackaging=jar
-Dfile=~/Downloads/ojdbc6-11.2.0.4.jar

详细笔记后续更新…

http://www.lryc.cn/news/297661.html

相关文章:

  • 【MySQL】字符串函数的学习
  • AI助力农作物自动采摘,基于YOLOv5全系列【n/s/m/l/x】参数模型开发构建作番茄采摘场景下番茄成熟度检测识别计数分析系统
  • 记录下ibus-libpinyin输入法的重新安装
  • 第三百一十八回
  • 破除Github API接口的访问次数限制
  • 蓝桥杯嵌入式第8届真题(完成) STM32G431
  • 第二节 zookeeper基础应用与实战
  • 改变AI服务器:探索界面互连芯片技术的创新突破
  • 【P1506 拯救oibh总部】
  • 应用层 HTTP协议(1)
  • Linux学习笔记(centOS)—— 文件系统
  • 华视 CVR-100UC 身份证读取 html二次开发模板
  • ubuntu彻底卸载cuda 重新安装cuda
  • 【Java】学习笔记:关于java.sql;
  • python web 框架Django学习笔记
  • ubuntn20 搭建 redmine
  • 每日五道java面试题之java基础篇(三)
  • 如何升级 gpt4?快速升级至ChatGPT Plus指南,爆火的“ChatGPT”到底是什么?
  • 【实习】深信服防火墙网络安全生产实习
  • 怎么把视频音乐提取成mp3?分享详细工具和方法!
  • 代码随想录算法训练营第44天 | 完全背包理论基础 518.零钱兑换II 377.组合总和 Ⅳ
  • 深度解析与推荐:主流Web前端开发框架
  • 【React】如何使antd禁用状态的表单输入组件响应点击事件?
  • Apache Flink
  • SpringMVC速成(一)
  • 通过nginx学习linux进程名的修改
  • 【PyTorch】实现迁移学习框架DANN
  • thinkphp6入门(18)-- 中间件中除了handle函数,还可以有其它函数吗
  • Java stream 流的基本使用
  • C++面向对象 Part 2