Nexus如何导入jar以及批量导入Maven的本地库目录

前言

  • 本篇基于 Nexus 的版本是 nexus-3.55.0-01
  • 本方法适用Linux和Windows
  • Windows 需要安装Git , 使用Git Bash执行

Nexus上传依赖包的方式

上传依赖包到Nexus 服务器的方式有多种, 包含:

  1. 单个jar上传: 在Nexus管理台页面上传单个jar
  2. 源码编译上传: 在源码项目中使用 Maven的deploy 命令发布
  3. 使用脚本批量上传Maven本地库的目录

1. 单个jar上传: 在Nexus管理台页面上传单个jar

要在 Nexus的Web 控制台上传jar, 需要先登录, 具体步骤如下:

  1. 登录后点击左侧导航栏的 "Upload"按钮
    Nexus如何导入jar以及批量导入Maven的本地库目录_第1张图片

  2. 选择需要上传的库, 这里选择maven-releases , 点击需要上传的库
    Nexus如何导入jar以及批量导入Maven的本地库目录_第2张图片

  3. 选择文件, 输入组名、构件名、版本等

这里以Oracle 12c 的Java驱动 ojdbc8 为例,填入的信息如下:
Nexus如何导入jar以及批量导入Maven的本地库目录_第3张图片

  1. 点击完成之后, 点击 "Browser " 按钮就可以看到上传后的包了。

Nexus如何导入jar以及批量导入Maven的本地库目录_第4张图片

2. 在源码项目中使用 Maven的deploy 命令发布

将项目发布到Nexus 私有服务器, 需要配置maven 的 settings.xml 和本地的pom.xml。
settings.xml 增加如下配置:

    
      osxm-nexus
      admin
      123456
    

pom.xml配置发布的库的地址

  
		
			osxm-nexus
			Osxm Nexus Releases Repository
			http://localhost:8081/repository/maven-snapshots/
		
  

需要注意: server 的 id 和 repository的id 要一致。

成功deploy 之后,在控制台看到的发布的结果如下:
Nexus如何导入jar以及批量导入Maven的本地库目录_第5张图片

发布项目到Nexus服务器的详细内容, 可以参考:
如何在Maven中发布项目到Nexus私有服务器

3. 使用脚本批量上传Maven本地库的目录

如果需要将Maven本地库的所有jar 一次性导入Nexus , 则使用单次导入的方式势必不太可能。
这里使用Bash脚本可以将Maven 本地库目录的所有jar , 一次性导入到Nexus中。 如果是在Windows环境中, 可以安装Git , 使用Git Bash 执行 sh 脚本。

在Maven的本地库路径下创建文件 mvnimport.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 './mvnimport\.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}/{} ;

Bash切换到Maven的本地库路径,类似:

 cd /d/inssoftware/maven-3.9.2/repo

在该目录下执行如下命令:

./mvnimport.sh -u admin -p yourpassword -r http://localhost:8081/repository/maven-releases/


你可能感兴趣的:(430-代码控管与系统构建,maven,nexus,mvn,deploy,批量)