【转】本地jar 上传到maven仓库

2023-11-11

  1. Maven环境准备
    下载maven安装包,解压后配置好path环境变量。具体配置请参考百度

    注意一般maven仓库有两个目录可以上传

    /maven-snapshots/ 和 /maven-releases/

    一般快照(也就是jar的后缀名为snapshots)只能上传到/maven-snapshots/

    其他后缀名 传到 /maven-releases/

  2. 配置Maven的settings.xml
    在maven安装目录找到conf/settings.xml,在settings标签下配置以下内容

    settings.xml需要放置在~/.m2/settings.xml( ~代表操作系统用户的家目录,windows下类似C:\Users\XXX )默认会读取这个目录的setting

 <!-- 在settings标签下配置以下内容 -->
  <servers>
    <server>
      <!--repositoryId,上传SNAPSHOT jar时需要指定此id -->
      <id>nexus-snapshot</id>
      <!--nexus 账号密码  -->
      <username>admin</username>
      <password>admin123</password>
    </server>
  </servers>
  1. 上传Nexus3 本地jar和pom.xml
    用管理员权限打开cmd命令窗口,cd到在第三方jar包所在目录下,输入以下命令(如果打开的时powershell ,键入cmd字符回车切换到cmd命令下执行脚本)
    3.1 上传jar包和pom文件命令

    		mvn deploy:deploy-file
    		 -DgroupId=com.cloud.infinite
    		 -DartifactId=base-exp
    		 -Dversion=1.3.2-SNAPSHOT
    		 -Dpackaging=jar
    		 -Dfile=base-exp-1.3.2-SNAPSHOT.jar
    		 -DpomFile=base-exp-1.3.2-SNAPSHOT.pom
    		 -Durl=http://192.168.1.189:8081/repository/maven-snapshots/
    		 -DrepositoryId=nexus-snapshot -X
    

    有时候只需要上传pom文件(如maven父工程),使用以下命令即可

    		mvn deploy:deploy-file
    		-DgroupId=com.cloud.infinite
    		-DartifactId=base-plugin
    		-Dversion=1.3.2-SNAPSHOT
    		-Dpackaging=pom
    		-Dfile=base-plugin-1.3.2-SNAPSHOT.pom
    		-Durl=http://192.168.1.189:8081/repository/maven-snapshots/
    		-DrepositoryId=nexus-snapshot -X
    

    3.2 命令参数简介

    -DgroupId=com.aaa //com.aaa为要上传的jar包groupId
    -Dversion=0.0.1-SNAPSHOT //0.0.1-SNAPSHOT为要上传的jar包版本号
    -Dpackaging=jar //上传文件类型,pom或者jar
    -Dfile=bbb-0.0.1-SNAPSHOT.jar //bbb-0.0.1-SNAPSHOT.jar为要上传的jar包/pom名称
    -DpomFile=bbb-0.0.1-SNAPSHOT.pom //要上传的pom文件
    -Durl=http://192.168.1.189:8081/repository/maven-snapshots/ //远程Nexus私服仓库地址,可在nexus web浏览仓库页面,点击copy URL的按钮获取到
    -DrepositoryId=nexus-snapshot //nexus-snapshot 为我们第2步配置的本地maven conf/settings.xml文件中其中一个server的id,nexus上传jar需要用这种方式验证账号密码
    -X // debug模式执行mvn命令,方便查看异常日志

  2. 检查nexus的maven-snapshots仓库jar和pom是否已上传成功

  3. 常见错误:
    [ERROR] The goal you specified requires a project to execute but there is no POM in this directory…
    解决方案:cmd命令必须用管理员权限打开,如果打开的是powershell,请输入cmd命令切换到cmd下执行

    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy-file (default-cli) on project standalone-pom: Cannot deploy artifact from the local repository
    解决方案:不能在本地maven仓库中直接运行上传命令,jar包需要挪动.m2/repository目录外上传,或者重命名目录repository

  4. 注意事项
    上传本地jar包时最好同时上传对应的pom文件,否则jar包依赖不会传递

原文:
本地jar 上传到maven仓库

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【转】本地jar 上传到maven仓库 的相关文章

随机推荐

  • Python计算出给定的时间段的具体日期列表-大全

    由于工作中经常用到关于用户自定义时间 来进行后台数据的查询 特意整理了一下工作中常用的到的关于时间列表的一个函数 可以计算出某一年中的具体哪个周的开始和结束日期 某个周的具体日期列表 2015年38周 自定义时间段的具体日期列表 20150
  • 华为OD机试真题-找出两个整数数组中同时出现的整数-2023年OD统一考试(B卷)

    题目描述 现有两个整数数组 需要你找出两个数组中同时出现的整数 并按照如下要求输出 1 有同时出现的整数时 先按照同时出现次数 整数在两个数组中都出现并且出现次数较少的那个 进行归类 然后按照出现次数从小到大依次按行输出 2 没有同时出现的
  • 基于人工大猩猩部队优化CNN-LSTM(GTO-CNN-LSTM)多变量时间序列预测(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 专家学者根据对人类视觉的研究 提出了注意力
  • win7虚拟图形服务器,ZNetCManager win7版

    ZNetCManager是一款虚拟串口服务器软件 它可以在你的电脑上构建出多个虚拟串口 不过功能和真实串口是一样的 你可以通过软件将数据传输到局域网内其他的串口设备上 让您即便是没有串口 也能对串口进行通信 ZNetCManager功能介绍
  • termius设置中文 v7.0.1附使用教程

    提起Windows平台远程终端 XShell的大名想必不用多说了 但它也只有Windows版本 携带非常不方便 为此小编今日要推荐的是termius全平台的远程终端 该软件不仅涵盖了Windows Linux OSX 还支持Android和
  • 几种存segmentation mask方法对比

    发现同一幅图的原图 jpg 1920 1080 1920 times 1080 1920 1080 才 155K 其用 npy 存的 segmentation mask 居然有 2M 按理 segmentation mask 只有一个通道
  • 安装npm后,nrm ls 报错internal/validators.js:124 throw new ERR_INVALID_ARG_TYPE(name, ‘string‘, value)

    报错截图 1 首先检查node js是否安装成功 输入 node v 若可查看版本号 如图所示即安装成功 若不一致则重新安装node js node js官方下载地址 https nodejs org en download 2 查看npm
  • Selector和Epoll区别

    Selector和Epoll区别 select原理 原理还是轮询所有文件描述符 将文件描述符集合fd set从用户空间拷贝到内核空间 进入内核态 遍历所有文件描述符 对每个文件描述符调用poll 该函数返回一组标准的掩码 其各个位指示相应的
  • Python爬虫之Js逆向案例(16)- xx商品评论&店铺详情案例

    一次运行程序 同时获取一下内容 1 获取商店详情 2 获取当前商品评论 3 获取商品的问题 答案 效果如下图 下面会进行以下几步进行分析 下方演示过程全部使用chrome浏览器 1 抓包找到对应接口 商店详情https item soa j
  • 后端Windows软件环境安装配置大全[JDK、Redis、RedisDesktopManager、Mysql、navicat、VMWare、finalshell、MongoDB...持续更新中]

    文章目录 前言 1 安装 JDK 2 安装 Redis 3 安装 RedisDesktopManager Redis可视化工具 4 安装 Mysql 5 安装 navicat Mysql可视化工具 6 安装 VMWare 7 安装 fina
  • Qt-多层嵌套界面类对象之间信号连接的一种方法-信号中转类

    项目中存在多个界面类对象 并且存在比较深的嵌套关系 这时候如果希望连接顶层的对象信号到底层的对象槽 一种方法是逐级连接信号 但是这种方法要写很多个connect函数 并且对不熟悉此代码的人来说 需要一层一层跟进才知道这个信号最终由哪个槽函数
  • 【Python】字符转换为 ASCII 码

    ord 函数将单个字符转换为 ASCII 码 chr相反 print ord A ord b print list map ord a z c print list map chr 97 122 99 输出结果 65 98 97 122 9
  • javascript实现经典排序

    排序是我们生活中经常面对的问题 做操时需要从小到大排序 我们逛电商网站 常常按价格排序 像这样我们把多个序列按照关键词递增 递减 的方式进行排列 使得序列成为一个按关键字有序的序列 这样的操作就称为排序 1 冒泡排序 冒泡排序是一种交换排序
  • 【查看linux中所有用户的三种方式】

    查看linux中所有用户的三种方式学习目标 提示 通过使用 etc passwd 文件 getent 命令 compgen 命令这三种方法查看系统中用户的信息 用户信息存放位置 提示 Linux 系统中用户信息存放在 etc passwd
  • shiro权限管理

    shiro ssm maven实现的权限管理 里面包含数据库文件 演示地址 登录 后台管理 包含角色管理 管理员可以对每个角色进行菜单分配 菜单管理 可以添加菜单 有子父级 用户管理 操作日志 系统日志 系统监控 在此基础上二次开发简直完美
  • 当系统中登录用户的角色和权限改变时的处理方法

    一 当登陆在线的用户的角色的权限改变时处理 1 登陆时将用户的所有权限放入session之中 2 在filter中加入判断信息 动态去数据库查询当前用户的权限和session中的权限的集合大小进行比较 不一致 移除session中的旧权限
  • [AHK]新浪实时股票数据接口

    2022年1月 发现 新浪接口反馈 Kinsoku jikou desu 已有新的方法 如需获取实时股票价格 当前价格 涨停价 跌停价 等 请联系weixin sunwind1576157 AHK 腾讯实时股票数据接口 AHK 腾讯实时股票
  • GO语言常用标准库 fmt

    GO语言常用标准库 fmt 1 fmt fmt包实现了类似C语言printf和scanf的格式化I O 主要分为向外输出内容和获取输入内容两大部分 1 1 1 向外输出 标准库fmt提供了以下几种输出相关函数 Print Print系列函数
  • 1024Byte(字节)=1KB

    二进制数系统中 每个0或1就是一个位 bit 位是数据存储的最小单位 计算机中的CPU位数指的是CPU一次能处理的最大位数 例如32位计算机的CPU一次最多能处理32位数据 字节 Byte 是通过网络传输信息 或在硬盘或内存中存储信息 的单
  • 【转】本地jar 上传到maven仓库

    Maven环境准备 下载maven安装包 解压后配置好path环境变量 具体配置请参考百度 注意一般maven仓库有两个目录可以上传 maven snapshots 和 maven releases 一般快照 也就是jar的后缀名为snap