将第三方Jar包上传到nexus仓库中 - 知乎

工作上有很多第三方系统的jar包,需要在项目中用到,使用外部依赖需要添加插件使用起
来很不方便,于是想上传到自己搭建的nexus仓库中,使用时可以直接从仓库中拉取

首先需要搭建一个nexus仓库,这段不再详细介绍,想要了解如何搭建的可以去如何搭建Git和Maven私服看看

接下来我们需要在nexus中创建一个maven库

选择maven2(hosted),这里的Repository的type属性有:proxy,hosted,group三种

proxy:即你可以设置代理,设置了代理之后,在你的nexus中找不到的依赖就会去配置的代理的地址中找

hosted:你可以上传你自己的项目到这里面

group:它可以包含前面两个,是一个聚合体。一般用来给客户一个访问nexus的统一地址。

简单的说,就是你可以上传私有的项目到hosted,以及配置proxy以获取第三方的依赖(比如可以配置中央仓库的地址)。前面两个都弄好了之后,再通过group聚合给客户提供统一的访问地址。

接下来进入这个页面

我们需要为这个库命名,我命名的为3rdPart,然后选择上传artifact的类型,这里选择mixed,Release和Snapshot两种类型都允许上传到这个库

接下来库建好之后,我们需要修改本地maven库的配置文件setting.xml,需要添加如下属性

<servers>
        <server>
            <id>3rdPart</id>
            <username>admin</username>
            <password>nexus123</password>
        </server>
    </servers>

这里的id可以随便取名,等于这个server的key

接下来我们就可以将第三方jar包上传到建好的库中了

我这里写了一个shell,来上传jar

export INIT_PATH="dirpath"

function ergodic(){
    for file in ` ls $1`
    do
        if [ -d $1"/"$file ] 
        then 
            ergodic $1"/"$file 
        else mvn deploy:deploy-file -DgroupId=yourGroupId -DartifactId=$file -Dversion=1.0.0 -Dpackaging=jar -Dfile=$1"/"$file -Durl=yourRepositoryUrl -DrepositoryId=3rdPart
        fi 
    done
}

ergodic $INIT_PATH

上面这个脚本对你所指定的文件夹下的所有文件执行maven命令,需要自己进行修改的参数有

  • INIT_PATH:你的三方jar包存放的文件夹
  • DgroupId:你的三方jar在maven中依赖时使用的groupId
  • Durl:你创建的存放jar包的nexus仓库的url
  • DrepositoryID:你之前添加的server标签下id的值

然后运行上面这段shell,就可以自动帮你把你存放三方jar包文件夹下的所有jar包都上传到nexus仓库

如果你只有一到两个三方jar,你也可以直接执行maven命令

mvn deploy:deploy-file -DgroupId=com.xxx -DartifactId=xxxxxx -Dversion=xxxx -Dpackaging=jar -Dfile=filepath -Durl=yourRepositoryUrl -DrepositoryId=3rdPart

也可以直接将jar上传到你创建的maven库中


Original url: Access
Created at: 2019-04-01 18:38:35
Category: default
Tags: none

请先后发表评论
  • 最新评论
  • 总共0条评论