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

港控/mmm° 2024-03-16 22:11 201阅读 0赞

前言

  • 本篇基于 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 增加如下配置:

  1. <server>
  2. <id>osxm-nexus</id>
  3. <username>admin</username>
  4. <password>123456</password>
  5. </server>

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

  1. <distributionManagement>
  2. <repository>
  3. <id>osxm-nexus</id>
  4. <name>Osxm Nexus Releases Repository</name>
  5. <url>http://localhost:8081/repository/maven-snapshots/</url>
  6. </repository>
  7. </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, 内容如下:

  1. #!/bin/bash
  2. # copy and run this script to the root of the repository directory containing files
  3. # this script attempts to exclude uploading itself explicitly so the script name is important
  4. # Get command line params
  5. while getopts ":r:u:p:" opt; do
  6. case $opt in
  7. r) REPO_URL="$OPTARG"
  8. ;;
  9. u) USERNAME="$OPTARG"
  10. ;;
  11. p) PASSWORD="$OPTARG"
  12. ;;
  13. esac
  14. done
  15. 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的本地库路径,类似:

  1. cd /d/inssoftware/maven-3.9.2/repo

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

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

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



发表评论

表情:
评论列表 (有 0 条评论,201人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Nexus3.x批量导入本地(☆)

    Nexus2.x批量导入本地库是十分容易的,将库文件夹复制到对应nexus库下面,去网页刷新一下索引就OK了,这里不做赘述。在nexus3.x中,我们不可以这么操作,但是我们可