安装Maven私有仓库Nexus

发布时间 2023-11-07 11:17:17作者: 牛啊!

安装Maven私有仓库Nexus

下载nexus免费版

--下载链接 https://sonatype-download.global.ssl.fastly.net/repository/downloads-prod-group/3/nexus-3.61.0-02-unix.tar.gz
上传至服务器解压到/root
tar -zxvf nexus-3.61.0-02-unix.tar.gz -C /root
mv /root/nexus-3.61.0-0 /root/nexus

配置文件修改

根据服务器内存设置合适参数并可根据自身需求修改Nexus的数据和日志存储位置
vi /root/nexus/bin/nexus.vmoptions
-Xms?m
-Xmx?m
-XX:MaxDirectMemorySize=?m
-XX:LogFile=?
-Dkaraf.data=?
-Dkaraf.log=?

启动nexus

启动 Nexus(默认端口是8081)
进入bin目录下执行 ./nexus start 即可启动。当然也可以使用./nexus run启动。区别在于:start以守护线程方式启动,run以非守护线程方式启动。
--其他命令 ./nexus {start|stop|run|run-redirect|status|restart|force-reload}
cd /root/nexus/bin
./nexus start
--以root启动会提示不推荐
--添加配置 vi /root/nexus/bin/nexus.rc
--此文件写入#run_as_user="root"并保存

其他说明

1:Nexus默认的端口是8081,可以在etc/nexus-default.properties配置中修改。
2:当遇到奇怪问题时,重启nexus,启动时间会比较慢 要1分钟左右后才能访问。
3:Nexus的工作目录是sonatype-work(路径一般在nexus同级目录下
以上nexus安装完并启动

访问nexus页面

http://ip:8081/ 会有nexus界面
进入页面点击Nexus“Log in”,输入默认用户名(admin)密码(自动生成)登录。
修改admin密码
之后会让我们选择是否允许匿名访问也就是说不需要对访问的用户进行身份认证。

仓库说明

maven-central:maven 中央库,默认从 http://repo1.maven.org/maven2 / 拉取jar
maven-releases:发行版依赖仓库
maven-snapshots:快照依赖仓库
maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地 maven 基础配置 settings.xml 中使用。

如何使用私服

配置镜像

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

批量上传jar包

首先上传repository目录

进入repository目录下

编写以下脚本 mavenimport.sh写入以下内容

#!/bin/bash
# copy and run this script to the root of the repository directory containing files
# this script attempts to exclude uploading itself explicitly so the script name is important
# Get command line params
while getopts ":r:u:p:" opt; do
	case $opt in
		r) REPO_URL="$OPTARG"
		;;
		u) USERNAME="$OPTARG"
		;;
		p) PASSWORD="$OPTARG"
		;;
	esac
done
 
find . -type f -not -path './mavenimport\.sh*' -not -path '*/\.*' -not -path '*/\^archetype\-catalog\.xml*' -not -path '*/\^maven\-metadata\-local*\.xml' -not -path '*/\^maven\-metadata\-deployment*\.xml' | sed "s|^\./||" | xargs -I '{}' curl -u "$USERNAME:$PASSWORD" -X PUT -v -T {} ${REPO_URL}/{} ;

赋予可执行权限

chmod a+x mavenimport.sh

执行导入命令

./mavenimport.sh -u admin -p Admin@123 -r http://10.57.19.61:8081/repository/picc-center/

等待全部导入完毕后,在Nexus上刷新即可看到已导入的jar

也可以使用nexus3提供的页面单个jar上传

附:管理员账户密码忘记解决办法

停止nexus
# 进入到安装目录下
./nexus stop
#进入安装目录执行
cd /root/nexus/
java -jar ./lib/support/nexus-orient-console.jar
#链接数据库
connect plocal:../sonatype-work/nexus3/db/security admin admin
#执行以下语句修改管理员密码
#重置管理员admin密码修改为admin123
update user SET password="$shiro1$SHA-512$1024$NE+wqQq/TmjZMvfI7ENh/g==$V4yPw8T64UQ6GfJfxYq2hLsVrBY8D1v+bktfOxGdt4b/9BthpWPNUy/CBk6V9iA0nHpzYzJFWO8v/tZFtES8CA==" UPSERT WHERE id="admin"
#执行命令看到信息Updated record(s) '1' 说明修改成功

附:安装maven并配置环境变量

官网下载maven linux版本apache-maven-3.5.4-bin.tar.gz
--下载链接 https://archive.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
解压至服务器并改名为maven
unzip apache-maven-3.5.4-bin.tar.gz /root/
mv /root/apache-maven-3.5.4 /root/maven
配置环境变量
vi /etc/profile
export MAVEN_HOME="/root/maven"
PATH="$PATH:$MAVEN_HOME/bin"
保存后刷新配置文件
source /etc/profil