nexus3远程搭建maven私服(离线)

Agnes ·
更新时间:2024-11-10
· 779 次阅读

一、安装jdk和maven 如果安装nexus3.x搭建maven私服,前提需要在Linux服务器安装1.8JDK以及3.xMAVEN版本 1、安装jdk和maven:

(1)、下载jdk1.8Linux版本,上传于指定目录下并解压(maven也一样),
(2)、执行 vim /etc/profile命令打开profile文件。然后直接按键盘上的 i 键进入编辑模式,在文件末尾添加上红框中的代码。如图所示:
在这里插入图片描述
JDK配置代码如下:

export JAVA_HOME=/usr/java/jdk1.8.0_211 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin export PATH=$PATH:${JAVA_PATH}

MAVEN配置代码如下:

export M2_HOME=/usr/local/apache-maven-3.6.0 export M2=$M2_HOME/bin export PATH=$M2:$PATH

编辑结束之后保存退出,按ESC键,然后输入冒号键进入底线命令模式输入 wq回车即可保存退出,使profile生效执行source /etc/profile
(3)、检查安装是否成功:

jdk: java -version maven:mvn -version 二、安装nexus

1.下载nexus-3.13.0-01-unix.tar压缩包(unix)版,在服务器的usr/local路径下新建nexus文件夹,将压缩包上传到此文件夹并解压(tar –zxvf nexus-3.13.0-01-unix.tar),解压完成后会生成两个文件夹,nexus+sonatype-work,主要功能是nexus,进入dexus/bin,启动nexus run &,默认账号:admin,密码:admin123,默认端口为8081,启动成功后可浏览器访问:
http://ip+端口,或者http://ip+端口/nexus3 进入nexus3的管理页面
在这里插入图片描述
注意:如果进入不了界面,那么可以试着将防火墙关闭,或者将在防火墙中开发指定端口,脚本自行百度

2.创建maven远程私服相关信息,其中Hosted中必须选择Allow redeploy:
在这里插入图片描述
3.私服名称创建好之后,打开maven-public,将新建的私服名称添加到members中:
在这里插入图片描述
4.新建脚本,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}/{} ;

5.在同级目录下上传本地仓库repository.zip并解压(unzip repository.zip),对解压后的repository整个文件夹授权(chmod 777 repository)。

6.将mavenImport.sh脚本复制到repository中,并执行脚本命令:
./mavenImport.sh -u admin -p admin123 -r http://192.168.13.2:8081/repository/maven-jwqbac/ ,

注意:如果执行结果如下:
在这里插入图片描述
出现上面的原因是我的这个脚本是在windows环境下编写的,所以换行符不一致导致错误发生换行结尾符是\n\r,但是在linux下是\n,所以在每个换行的地方会多出来个\r,通过命令:sed -i ‘s/\r$//’ mavenImport.sh 可解决,但前提是mavenImport.sh必须有可编辑权限。

到这一步已经将本地仓库repository中的jar包全部上传到远程私服,脚本执行完后刷新nexus页面即可。

7.上传完本地maven仓库到远程私服后,需要设置本地maven的setting配置文件,需要添加server节点以及mirror节点映射远程仓库,如下:
在这里插入图片描述
注意事项:
1.如果本地maven仓库repository是从其他项目拷贝来的,则需要把repository里的所有_remote.properties文件删除,否则会遗留上个项目的相关信息,从本地无法连接到远程私服
2.执行导入脚本时,只需要对repository文件夹进行授权,其他文件夹不需要授权,否则会将所有授权的文件夹中的文件上传,本地无法识别具体的私服jar包


作者:小vi仔



Maven nexus

需要 登录 后方可回复, 如果你还没有账号请 注册新账号