maven私服nexus上传第三方jar包以及下载

news/2024/7/5 18:28:27

 

 

 

 私服是一个特殊的远程仓库,它是架设在局域网内的仓库服务。私服代理广域网上的远程仓库,供局域网内的Maven用户使用。当Maven需要下载构建的使用,它先从私服请求,如果私服上没有的话,则从外部的远程仓库下载,然后缓存在私服上,再为Maven的下载请求提供服务。

在maven中,配置setting.xml,之后通过mvn deploy命令可以将包传入私服

有些第三方jar包,我们需要一般通过新建仓库进行上传

setting.xml配置

<servers>
    <server>
      <id>nexus</id>
      <username>gaming</username>
      <password>gaming</password>
    </server>
</servers>

 

 pom.xml配置下

 <distributionManagement>
  <repository>
    <id>nexus</id>
    <name>releases Repository</name>
    <url>http://192.168.1.222/repository/gaming/</url>
  </repository>
</distributionManagement>

1、自己maven私服更容易维护,公司开发从maven私服迁出jar到本地仓库更快

2、有些公司未开放外网给开发人员

 登录nexus后台,选择创建repository

respository介绍

proxy:是远程仓库的代理。比如说在nexus中配置了一个central repository的proxy,当用户向这个proxy请求一个artifact,这个proxy就会先在本地查找,如果找不到的话,就会从远程仓库下载,然后返回给用户,相当于起到一个中转的作用;
Hosted:是宿主仓库,用户可以把自己的一些构件,deploy到hosted中,也可以手工上传构件到hosted里。比如说oracle的驱动程序,ojdbc6.jar,在central repository是获取不到的,就需要手工上传到hosted里;
Group:是仓库组,在maven里没有这个概念,是nexus特有的。目的是将上述多个仓库聚合,对用户暴露统一的地址,这样用户就不需要在pom中配置多个地址,只要统一配置group的地址就可以了右边那个Repository Path可以点击进去,看到仓库中artifact列表。不过要注意浏览器缓存。

 选中maven2(hosted)

 

 

 自定义仓库名,其余使用默认

 

 

 

 

 

之后就上传成功,这是在后台上传

也可以通过命令上传

mvn deploy:deploy-file -DgroupId=net.sf -DartifactId=json-lib -Dversion=2.4 -Dpackaging=jar -Dfile=E:/json-lib-2.4.jar -Durl=http://192.168.1.222/nexus/repository/releases/ -DrepositoryId=releases

参数说明

mvn deploy:deploy-file

  • -DgroupId=xxxxxx 就相当于pom中的groupId
  • -DartifactId=xxxxxx 就相当于pom中的artifactId
  • -Dversion=xxxxxx 就相当于pom中的版本号version
  • -Dpackaging=xxxxxx 就相当于pom中打包方式
  • -Dfile=xxxxxx 本地环境
  • -Durl=xxxxxx 上传的url
  • -DrepositoryId=xxxxxx 对应的是setting.xml 里边的id

 

下载,需要修改maven的setting.xml

设置repository

 之后reimport即可。


http://www.niftyadmin.cn/n/605995.html

相关文章

DataGrid模板列应用——在DataGrid中用CheckBox控制TextBox的Enabled属性

将模板列的CheckBox的AutoPostBack属性设置为true&#xff0c;因为在模板列中的控件没有事件&#xff0c;故在aspx页面写事件程序&#xff0c;同时将CheckBox的OnCheckedChanged事件设置为所需要的事件程序。示例如下&#xff1a; void Check_Change(Object sender, EventArgs …

单幅图像处理的基类

2019独角兽企业重金招聘Python工程师标准>>> <!-- lang: c# --> /// <summary> /// 计算核 /// </summary> abstract class Calc {/// <summary>/// 获取一个实例/// </summary>/// <returns></returns>public static Ca…

Python初识

Python初识 Python的注释方法简介 Python的注释方法有三种&#xff1a; 单行注释使用 #&#xff1b;多行注释使用 “”""""或者’’’’’’; 数据类型 目前了解了四种Python的数据类型&#xff1a; 整数类型&#xff08;int&#xff09; &#xff0…

python 基类是什么_确定Python类是抽象基类还是Con

我的Python应用程序包含许多抽象类和实现。例如&#xff1a;import abcimport datetimeclass MessageDisplay(object):__metaclass__ abc.ABCMetaabc.abstractpropertydef display(self, message):passclass FriendlyMessageDisplay(MessageDisplay):def greet(self):hour da…

ssh通过pem文件登陆服务器

一些为了安全操作&#xff0c;推荐使用私钥进行登录服务器&#xff0c;拿jenkins来说&#xff0c;默认的验证方式就是私钥实现方式 先在本机通过ssh-keygen直接生成公私钥如下在当前文件夹下生成my.pem(私钥)和my.pem.pub(公钥)ssh-keygen -t rsa -f my.pem -C "youremail…

.net笔试题

姓名&#xff1a; 日期&#xff1a; 1. 填空: (1)面向对象的语言具有________性、_________性、________性。 (2)能用foreach遍历访问的对象需要实现 ________________接口或声明________________方法的类型。 (3)列举ADO.net中的五个主要对象_______________、_____________、…

Python(二)

Python(二) 1.循环 for 变量 in range(起点&#xff0c;终点&#xff0c;步长): 循环体 eg. for i in range(3):a int(input("请输入一个数&#xff1a;"))if a>1000:print("有大于1000的")breakwhile 循环 起点 while 表达式(bool):/终点 循环体 …

mysql的pagehelper排序_Mybatis-PageHelper分页/动态排序/对List遍历/where语句动态拼装

一、Mybatis-PageHelper实现分页public ServerResponse manageGetProductList(int pageNum, intpageSize){//startPage--start//填充自己的sql查询逻辑//pageHelper-收尾PageHelper.startPage(pageNum, pageSize);List productList productMapper.selectProductList();List pro…