以前公司都是配管负责管理jar的,现在没有专职配管了,得自己部署到deploy上供使用。总的来说,jar部署到nexus上有两种方式:

1、直接登录nexus控制台进行上传,如下:

但是,某些仓库可能被设置了禁止控制台上传,如下:

这种情况下,只能通过mvn:deploy进行部署了。

2、命令行方式上传。使用mvn:deploy部署前需要在settings.xml中配置server节点,指定仓库编号和用户名密码,如下所示:

<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>

这里的id应该需要和命令行中的repositoryId相同,否则会报401没有权限。

mvn deploy:deploy-file -DgroupId=com.ld.net.spider -DartifactId=com.ld.net.spider.ext -Dversion=1.0.0-SNAPSHOT -Dpackaging=jar -Dfile=C:\新建文件夹\com.ld.net.spider.ext-1.0.0-SNAPSHOT.jar -Durl=http://172.18.30.181:8081/nexus/content/repositories/snapshots -DrepositoryId=snapshots
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building com.ld.net.spider.parent 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-deploy-plugin:2.7:deploy-file (default-cli) @ com.ld.net.spider.parent ---
Downloading: http://xxx:8081/nexus/content/repositories/snapshots/com/ld/net/spider/com.ld.net.spider.ext/maven-metadata.xml
Uploading: http://xxx:8081/nexus/content/repositories/snapshots/com/ld/net/spider/com.ld.net.spider.ext/1.0.0-SNAPSHOT/maven-metadata.xml
Uploaded: http://xxx:8081/nexus/content/repositories/snapshots/com/ld/net/spider/com.ld.net.spider.ext/1.0.0-SNAPSHOT/maven-metadata.xml (788 B at 26.5 KB/sec)
Uploading: http://xxx:8081/nexus/content/repositories/snapshots/com/ld/net/spider/com.ld.net.spider.ext/maven-metadata.xml
Uploaded: http://xxx:8081/nexus/content/repositories/snapshots/com/ld/net/spider/com.ld.net.spider.ext/maven-metadata.xml (298 B at 10.8 KB/sec)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.028 s
[INFO] Finished at: 2016-09-27T18:32:32+08:00
[INFO] Final Memory: 6M/16M
[INFO] ------------------------------------------------------------------------

还需要一点注意的就是要部署的jar/pom不能位于本地仓库所在的目录:否则会出错,如下所示:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy-file (default-cli) on project com.ld.net.spider.parent: Cannot deploy artifact from the local repository: C:\apache-maven-3.3.9\repo\com\ld\net\spider\com.ld.net.spider.parent\1.0.0-SNAPSHOT\com.ld.net.spider.parent-1.0.0-SNAPSHOT.pom -> [Help 1]

注意上述事项后,应该是没有问题的。

完整的mvn deploy使用指南见http://maven.apache.org/plugins/maven-deploy-plugin/usage.html。

常见错误

[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 find artifact com.ld.net.spider:com.ld.net.spider:jar:1.0.1-20161008.032827-1 in snapshots (http://172.18.30.181:8081/nexus/content/groups/snapshots) -> [Help 1]

仓库http://172.18.30.181:8081/nexus/content/groups/snapshots所指向的地址不存在。

maven settings.xml的完整配置可参考http://maven.apache.org/settings.html,pom.xml的完整配置可参考https://maven.apache.org/pom.html。

eclispe执行maven deploy部署到远程仓库

m2eclipse默认没有提供maven deploy选项,需要自己build...,如下:

这样的话,source/jar/pom就都更新上去了。

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project *: Failed to deploy artifacts: Could not transfer artifact *:jar:1.0 from/to releases (http://10.1.81.199:8081/nexus/content/repositories/releases/): Failed to transfer file:http://10.1.81.199:8081/nexus/content/repositories/releases/com/cs2c/security-management-client* /1.0/*-1.0.jar. Return code is: 401, ReasonPhrase:Unauthorized.

原因是没有配置认证,比如缺少snapshots。maven目录conf的setting.xml里,

  1. <server>
  2. <id>releases</id>
  3. <username>admin</username>
  4. <password>admin123</password>
  5. </server>
  6. <server>
  7. <id>snapshots</id>
  8. <username>admin</username>
  9. <password>admin123</password>
  10. </server>
  11. </servers>

用户名和密码都是nexus的。再次deploy即可。

注意这里的id要和pom.xml里远程deploy的地址对应一致,我的pom.xml里配置:

  1. <!-- 配置远程发布到私服,mvn deploy -->
  2. <distributionManagement>
  3. <repository>
  4. <id>releases</id>
  5. <name>Nexus Release Repository</name>
  6. <url>http://10.1.81.199:8081/nexus/content/repositories/releases/</url>
  7. </repository>
  8. <snapshotRepository>
  9. <id>snapshots</id>
  10. <name>Nexus Snapshot Repository</name>
  11. <url>http://10.1.81.199:8081/nexus/content/repositories/snapshots/</url>
  12. </snapshotRepository>
  13. </distributionManagement>

maven nexus deploy方式以及相关注意事项(增加eclipse执行maven deploy)的更多相关文章

  1. maven nexus deploy方式以及相关注意事项

    以前公司都是配管负责管理jar的,现在没有专职配管了,得自己部署到deploy上供使用.总的来说,jar部署到nexus上有两种方式: 1.直接登录nexus控制台进行上传,如下: 但是,某些仓库可能 ...

  2. java 数据绑定的几种方式及相关注意事项-持续更新

    spring mvc 中会遇到各种数据绑定,有些不常用的,但是千万不要觉得不可以,没有什么是不可以的,只要能够想到,就可以. 数据绑定方式: 1. 注意: 当数据为包装类型的数字型时,如果Long h ...

  3. eclipse执行maven install命令时跳过test

    在pom.xml里面配置一下代码,将跳过test. <plugins> <plugin> <groupId>org.apache.maven.plugins< ...

  4. eclipse——执行Maven命令

    右键pom.xml文件 点击 m2 Maven build... 输入要执行的命令,点击Run 控制台会打印maven运行过程

  5. Eclipse配置Maven开发环境

    前言: 现在Eclipse版本越来越高.高版本的Eclipse甚至已经集成了Maven像是SpringSource的哪个版本.用习惯了Eclipse.在开发中还是不想更换掉自己的IDE.如此一来就又了 ...

  6. eclipse集成maven插件

    一.准备工作 1. 安装jdk并配置:https://www.cnblogs.com/diandiangui/p/10002100.html 2. 已安装好 maven并配置:https://www. ...

  7. maven课程 项目管理利器-maven 3-4 eclipse安装maven插件和新建maven项目

    本节主要讲了两个主要内容, 1       eclipse安装maven插件 2 新建maven项目 3 本人实操 1       eclipse安装maven插件 eclipse4.0以上和myec ...

  8. 如何使用eclipse搭建maven环境以及常见的错误

    这篇博客适合零基础学习maven,搭建maven以及运行项目,常见的错误,我会在结尾写出说明白,看是否和大家的错误一样,或者文章的括号注释部分也会写出一些注意点. 第一步:就是下载maven,以及配置 ...

  9. Eclipse 安装Maven以及Eclipse配置Maven

    安装Maven 1 下载 Downloading Apache Maven 3.5.0 选择 2 解压 3 配置环境变量 新建变量名:MAVEN_HOME  变量值:D:\SoftwareInstal ...

随机推荐

  1. 开放思源 专注高效 HPE&msup软件技术开放日回顾

    7月22日,HPE和msup联合举办的软件技术开放日在上海浦东新区张江高科技园区召开,主.分会场共邀请HPE 13 名测试.质量.大数据专家分享技术实践与经验,与180多名测试总监一起拆解质量保障及大 ...

  2. java 中静态变量(类变量)与实例变量 静态方法与实例方法

    静态变量: 在类内部中,方法的外部声明的对象而且加上static; 实例变量: 在类内部中,声明不需要加static; 比如: public class Demo{ int i1=0; static ...

  3. NEFU 84 - 五指山 - [exgcd求解一元线性同余方程]

    题目链接:http://acm.nefu.edu.cn/JudgeOnline/problemShow.php?problem_id=84 Time Limit:1000ms Memory Limit ...

  4. linux:查找搜索文件

    学习内容来源: 实验楼链接: https://www.shiyanlou.com/ 与搜索相关的命令常用的有 whereis,which,find 和 locate . whereis 简单快速 $w ...

  5. idea启动java Maven项目,出现" java: 程序包xxxx不存在"

    今天运行Maven项目的时候,出现了,Error:(19, 17) java: 程序包tracetool不存在的情况 本人的解决办法: (1)首先确保maven  pom文件不能报错,即文件上面不能有 ...

  6. 【查阅】mysql系统视图查看

    [1]查看表大小 SELECT CONCAT(table_schema,'.',table_name) AS 'Table Name', table_rows AS 'Number of Rows', ...

  7. Linux输入输出重定向和文件查找值grep命令

    Linux输入输出重定向和文件查找值grep命令 一.文件描述符Linux 的shell命令,可以通过文件描述符来引用一些文件,通常使用到的文件描述符为0,1,2.Linux系统实际上有12个文件描述 ...

  8. 【点击模型学习笔记】Modeling contextual factors of click rates_MS_AAAI2007

    概要 并没有觉得这是篇高质量的文章,非常奇怪为什么可以发表在AAAI上面. 文章的创新点比較单薄:在传统点击率预測模型(LR)的基础上增加了两类新的特征,一个是位置特征.一个是广告上下文特征--即和它 ...

  9. 006-jdk1.5版本新特性

    一.Java SE 5.0 (1.5.0) 名称:Tiger(老虎) 发布日期:2004-09-30 新特性: 1.1.静态导入 定义:静态导入用于简化程序对类静态属性和方法的调用. 语法: impo ...

  10. 【剑指offer】矩形覆盖

    一.题目: 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 二.思路: 斐波那契数列 三.代码: