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"按钮
    在这里插入图片描述

  2. 选择需要上传的库, 这里选择maven-releases , 点击需要上传的库
    在这里插入图片描述

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

这里以Oracle 12c 的Java驱动 ojdbc8 为例,填入的信息如下:
在这里插入图片描述

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

在这里插入图片描述

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

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

    <server>
      <id>osxm-nexus</id>
      <username>admin</username>
      <password>123456</password>
    </server>

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

  <distributionManagement>
		<repository>
			<id>osxm-nexus</id>
			<name>Osxm Nexus Releases Repository</name>
			<url>http://localhost:8081/repository/maven-snapshots/</url>
		</repository>
  </distributionManagement>

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

成功deploy 之后,在控制台看到的发布的结果如下:
在这里插入图片描述

发布项目到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/

mvnimport.sh脚本可以到以下路径直接下载: 批量导入maven本地库目录到Nexus私有服务器的脚本



おすすめ

転載: blog.csdn.net/oscar999/article/details/131349696