当前位置:   article > 正文

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

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
# 内容END

source ~/.bash_profile
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
[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}
  • 1
  • 2
  • 3
  • 4
  • 5

提示

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

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 就成功了。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

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

# 关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
  • 1
  • 2

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

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

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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

下载

<mirrors>
  <mirror>
    <id>nexus</id>
    <mirrorOf>*</mirrorOf>
    <name>nexus maven</name>
    <url>http://10.211.55.38:8081/repository/maven-public/</url>
  </mirror>
</mirrors>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

项目配置

<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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

只要执行命令 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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

二、安装依赖到本地

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

详细笔记后续更新…

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/87009
推荐阅读
相关标签
  

闽ICP备14008679号