【From】 https://my.oschina.net/360yg/blog/1588899

前言:通常允许上传的远程仓库有两种:Snapshots和Releases,分别为快照版仓库和稳定版仓库。   快照版仓库用于存放不稳定的开发包,稳定版仓库用于存放稳定的包。   
      解决方案有两个:

  1. 通过Nexus UI 界面部署

    有时候有个jar文件你无法从公共Maven仓库找到,但是你能从其它得到这个jar文件(甚至是POM),那么你完全可以将这个文件部署到Nexus中,使其成为标准流程的一部分。步骤如下:    点击左边导航栏的"Repository",在右边的仓库列表中选择一个仓库,如“3rd Party”,然后找到下面的tab,选择最后一个“Artifact Upload”,你会看到构件上传界面。选择你要上传的构件,并指定POM,(或者手工编写GAV等信息),最后点击Upload,该构件就直接被部署到了Nexus的"3rd Party"仓库中。如图:

2、通过Maven命令行部署

  • maven package:打包到本项目,一般是在项目target目录下。
  • maven install:打包会安装到本地仓库。
  • maven deploy:将打包的文件发布到远程仓库(私服),提供其他人员进行下载依赖。==》这个在本地仓库也会生成
<!-- 远程仓库-->
<servers>
<server>
<id>maven-snapshots</id> // 快照仓库 ID
<username>admin</username>
<password>admin1234</password>
</server>
<server>
<id>maven-releases</id> // 发布仓库 ID
<username>admin</username>
<password>admin1234</password>
</server>
</servers>

注:认证 id 这个必须和 nexus DrepositoryId 对应的仓库标识(id)一致,那么怎么查看仓库 ID 呢?

如下图

Nexus 2.12.0-01

OSS 3.6.0-02 版本界面如下

别人生成好的 jar 的 pom 配置信息如下:

<dependency>
<groupId>com.zhenai.dakehu</groupId>
<artifactId>dakehu-commons</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>

打开CMD,将其定位到你要上传的jar包的文件夹,类似的输入以下命令:(注意红色的要一一对应)

mvn deploy:deploy-file -DgroupId=com.zhenai.dakehu -DartifactId=dakehu-commons -Dversion=1.0.0-SNAPSHOT -Dpacckaging=jar -Dfile=dakehu-commons-1.0.-SNAPSHOT.jar -DrepositoryId=maven-snapshots -Durl=http://112.124.33.150:8081/repository/maven-snapshots/


  • –Dversion  版本信息
  • -DrepositoryId  仓库标识id
  • -Durl 私服上仓库的位置,打开nexus——>repositories菜单,可以看到该路径。
  • -Dfile 直接写文件名即可

如果cmd 当前路径与jar包的路径在同一文件夹下,如果不在同一个目录下,需要在-Dfile 后面写上文件的绝对路径。

deploy 上传遇到的问题

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy-file (default-cli) on project standalone-pom: Failed to deploy artifacts: Could not transfer artifact com.zhenai.dakehu:dakehu-commons:jar:1.0.0-20171212.105921-1 from/to maven-snapshots (http://112.124.33.150:8081/repository/maven-snapshots/): Failed to transfer file: http://112.124.33.150:8081/repository/maven-snapshots/com/zhenai/dakehu/dakehu-commons/1.0.0-SNAPSHOT/dakehu-commons-1.0.0-20171212.105921-1.jar.

Return code is: 401, ReasonPhrase: Unauthorized. -> [Help 1] ===> 用户验证失败

说一下我遇到的问题:

1、neuxs 默认的帐号密码  admin/admin123,同事偷偷把密码改为 admin1234

2、maven setting.xml 中仓库认证的 id 不对

<id>maven-snapshots</id> // ===》这个必须和 nexus DrepositoryId 对应的仓库标识(id)一致

Nexus入门指南(图文)

Maven学习-Profile详解

maven全局配置文件settings.xml详解

[转] 手动上传jar包到远程仓库 (maven deploy)的更多相关文章

  1. maven 上传jar包到私服仓库

    按一下形式上传jiar包 # mvn deploy:deploy-file -DgroupId=com.itextpdf -DartifactId=itextpdf -Dversion=5.5.13 ...

  2. Maven使用deploy上传jar包到远程库 以Oracle驱动为例

    一.首先要得到Oracle JDBC Driver 1.通过Oracle官方网站下载相应版本:http://www.oracle.com/technetwork/database/features/j ...

  3. Maven使用deploy上传jar包到远程库

    一.环境准备 首先需要在本地环境安装好maven,并且在环境变量配置好 二.配置远程库认证 需要在./conf/setting.xml(maven的配置文件,不要弄错)中配置需要远程上传库的地址,用户 ...

  4. Maven如何上传ja包到远程仓库

    本文转载自沧海一屌丝的博客 https://blog.csdn.net/qq_31924435/article/details/53745811 mvn install  会将项目生成的构件安装到本地 ...

  5. maven deploy 上传jar包到私有仓库

    mvn \ deploy:deploy-file \ -DgroupId=com.weibo.datasys \ -DartifactId=data-flow \ -Dversion=2.0.0 \ ...

  6. gradle上传jar包到maven公共仓库

    首先这里说的中央仓库 是指的 https://issues.sonatype.org/ 而不是maven私服. 其次是使用gradle上传jar包,maven上传,网上有很多教程,这里不做赘述. 首选 ...

  7. 实测Maven上传jar包到私服的方法归纳

    Hello,各位小伙伴大家好,我是小栈君.好久不见,最近因为工作的缘故,导致了更新变慢,但是小栈君也在积极的做素材的规划,毕竟学习知识点的归纳和提炼需要一定的时间. 所以还请大家多多见谅,下一期的分享 ...

  8. maven安装 maven上传jar包到库里面

    maven的安装与配置:http://pansanday.blog.163.com/blog/static/381662802012727103454743/ maven上传jar包到库里面: 将私有 ...

  9. Maven第四篇【私有仓库、上传jar包、引用私服jar包、上传本地项目到私服】

    搭建私有服务器 前面已经说过了,我们使用Maven的使用,如果需要导入相对应的jar包,Maven首先会在我们的本地仓库中寻找->私有仓库->中心仓库- 然而,我们的本地仓库常常没有想要的 ...

随机推荐

  1. 使用jedis2.8.0连接redis

    下载了最新的jedis客户端jedis2.8.0,在网上找了找jedis使用连接池的工具类,拿来发现都是低版本的jedis写法: returnResource(); returnBrokenResou ...

  2. Spring MVC的handlermapping之请求分发如何找到正确的Handler(BeanNameUrlHandlerMapping,SimpleUrlHandlerMapping)

    本文讲的是Spring MVC如何找到正确的handler, 前面请求具体怎么进入到下面的方法,不再细说. 大概就是Spring mvc通过servlet拦截请求,实现doService方法,然后进入 ...

  3. 数据挖掘算法以及其实现zz

    实验一    分类技术及其应用 实习要求: 基于线性回归模型拟合一个班学生的学习成绩,建立预测模型.数据可由自己建立100个学生的学习成绩. 1)    算法思想: 最小二乘法 设经验方程是y=F(x ...

  4. Page Object页面设计模式核心要点

      Page Object,页面对象.一种设计模式,实施selenium的最佳实践,体现了web应用与页面显示之间的关系.为什么需要Page Object?测试代码维护的需要:减少代码的编码量,减少代 ...

  5. tpshop使用中遇到的问题

    1.短信配置里:商家发货时是否给客户发短信  配置了 开启   如果购买者个人资料里的电话没填写,商家点击发货时, 程序会挂掉 解决方法:修改application\common\logic\SmsL ...

  6. SpringMVC源码解析- HandlerAdapter初始化

    HandlerAdapter初始化时,主要是进行注解解析器初始化注册;返回值处理类初始化;全局注解@ControllerAdvice内容读取并缓存. 目录: 注解解析器初始化注册:@ModelAttr ...

  7. windows下C++操作MySQL数据库

    .安装MySQL 2.建立C++控制台程序,新建CPP源文件,如:sqlconn.cpp 3.工程项目中属性—C/C++--常规—附加包含目录中添加mysql安装目录中的MySQL\MySQL\MyS ...

  8. Objective-C 学习笔记(三) Numbers/数字

    Objective-C Numbers/数字 Objective-C中提供了一系列的NSNumber和重要的工作方法: + (NSNumber *)numberWithBool:(BOOL)value ...

  9. 修改TFS附件大小的限制

    在TFS服务器使用浏览器上打开如下地址:http://localhost:8080/tfs/<CollectionName>/WorkItemTracking/v1.0/Configura ...

  10. Java Socket实现基于TCP和UDP多线程通信

    一.通过Socket实现TCP编程 1.1 TCP编程 TCP协议是面向连接,可靠的,有序的,以字节流的方式发送数据.基于TCP协议实现网络通信的类有客户端的Socket类和服务器端的ServerSo ...