要将自定义的jar或者pom上传至nexus私服,需要配置maven的settings文件!

上传至nexus私服配置

1. settings配置

<!-- maven设置私服对应的信息:id、用户、密码,其中,id必须和distrubutionManagement的id相同 -->
<server>
<id>db-maven-release</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>db-maven-snapshot</id>
<username>admin</username>
<password>admin123</password>
</server>

2. 项目中pom配置

<!-- pom中增加url -->
<distributionManagement>
<repository>
<id>db-maven-release</id> <!-- id的名字可以任意取,但是在setting文件中的属性<server>的ID与这里一致 -->
<name>libs-release</name>
<url>http://192.168.100.99:8081/repository/db-maven-hosted/</url>
</repository>
<snapshotRepository>
<id>db-maven-snapshot</id>
<name>libs-snapshot</name>
<url>http://192.168.100.99:8081/repository/db-maven-snapshot/</url>
</snapshotRepository>
</distributionManagement>

上传jar包

  • IDEA上传比较简单,直接直接mvn clear deploy就可以了
mvn deploy:deploy-file --settings D:\apache-maven-3.6.1\conf\settings-nexus.xml
-DgroupId=com.dangbo -DartifactId=core-base -Dversion=1.0.0-SNAPSHOT -Dpackaging=jar -Dfile=pom.xml
-Durl=http://192.168.100.123:8081/repository/maven-snapshots/ -DrepositoryId=snapshots

上传pom文件

mvn deploy:deploy-file --settings D:\apache-maven-3.6.1\conf\settings-nexus.xml -Dfile.encoding=UTF-8
-DgroupId=com.dangbo -DartifactId=core-dependencies -Dversion=1.0.0-SNAPSHOT -Dpackaging=pom
-Dfile=pom.xml -Durl=http://192.168.100.123:8081/repository/maven-snapshots/ -DrepositoryId=snapshots

常用的打包配置项

-D代表(Properties属性)对插件的目标参数进行配置

  1. -Dmaven.test.skip=true 跳过测试
  2. -Dfile.encoding 指定编码格式
  3. -DgroupId
  4. -DartifactId
  5. -Dversion
  6. -Dpackaging 打包类型,pom或者jar
  7. -Dfile 某路径下的pom文件,
  8. -Durl 远程Nexus私服仓库地址
  9. -Dspring.profiles.active=prod 指定springboot的配置文件

--setting 指定settings文件,等同于-s,如果settings文件名为默认的settings.xml,可以省略不写

完整的settings配置

<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 http://maven.apache.org/xsd/settings-1.2.0.xsd"> <localRepository>D:\apache-maven-3.6.1\repository-nexus</localRepository> <servers>
<!-- 一般,私服仓库的下载和部署是在pom.xml文件中的repositories和distributionManagement元素中定义的,然而,一般类似于用户名,密码等信息不应该在pom.xml文件配置中,这些信息可以配置在setting.xml中 -->
<!-- maven设置私服对应的信息:id、用户、密码,其中,id必须和distrubutionManagement的id相同 -->
<!-- 私域环境maven仓库,为了上传jar或pom到私服仓库 -->
<server>
<id>releases</id>
<username>admin</username>
<password>admin@nexus</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin@nexus</password>
</server>
</servers> <mirrors>
<!-- 私服和阿里云混用,当nexus私服连接不上,才会走第二个,默认只有一个生效 -->
<!-- id是唯一标识一个mirror,name节点名,url是官方的库地址,mirrorOf代表了一个镜像的替代位置,例如central就表示代替官方的中央库 -->
<!-- 虽然mirrors可以配置多个子节点,但是它只会使用其中的一个节点,即默认情况下配置多个mirror的情况下,只有第一个生效,只有当前一个mirror无法连接的时候,才会去找后一个 -->
<mirror>
<id>fp-nexus</id>
<name>nexus maven</name>
<url>http://192.168.100.99:8082/repository/maven-public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors> <profiles>
<profile>
<id>jdk1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile> <profile>
<id>nexus-profile</id>
<repositories>
<repository>
<id>fp-nexus</id> <!--仓库id,repositories可以配置多个仓库,保证id不重复-->
<url>http://192.168.100.99:8082/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>Public Repositories</name>
<url>http://192.168.100.99:8082/repository/maven-public/</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles> <!-- 激活配置 -->
<activeProfiles>
<activeProfile>jdk1.8</activeProfile>
<activeProfile>nexus-profile</activeProfile>
</activeProfiles>
</settings>

使用mvn命令将pom和jar上传至nexus私服的更多相关文章

  1. 在pom.xml中使用distributionManagement将项目打包上传到nexus私服

    本文介绍 如何在pom.xml中使用distributionManagement将项目打包上传到nexus私服 1.pom.xml文件添加distributionManagement节点 <!- ...

  2. 第三方jar上传到Maven私服(Nexus)

    mvn deploy:deploy-file -DgroupId=taobao-sdk -DartifactId=taobao-sdk-java -Dversion=1.0 -Dpackaging=j ...

  3. 如何将第三方jar包上传到Nexus私服

    首先登陆私服服务器         以动力威视私服为例:          自己搭建的私服地址:http://192.168.1.5:8081/nexus/index.html#view-reposi ...

  4. 第三方jar上传至公司maven仓库(私库)解决办法

    在实际开发过程中,我们经常会遇到需要引用的jar依赖,在我们公司的maven仓库不存在,这个时候我们就需要把jar上传上去,在项目中添加对应依赖就OK了. 步骤1:下载jar 在http://mvnr ...

  5. 利用windows系统ftp命令编写的BAT文件上传[转]

    利用windows系统ftp命令编写的BAT文件上传[转] 利用windows系统ftp命令编写的BAT文件上传[转] 在开发中往往需要将本地的程序上传到服务器,而且用惯了linux命令的人来说.在w ...

  6. (超详细)使用git命令行将本地仓库代码上传到github或gitlab远程仓库

    (超详细)使用git命令行将本地仓库代码上传到github或gitlab远程仓库 本地创建了一个 xcode 工程项目,现通过 命令行 将该项目上传到 github 或者 gitlab 远程仓库,具体 ...

  7. Maven:将Jar安装到本地仓库和Jar上传到私服

    1.依赖如下: <dependency> <groupId>org.quartz-scheduler.internal</groupId> <artifact ...

  8. Maven : 将Jar安装到本地仓库和Jar上传到私服 转

    http://blog.csdn.net/we_shell/article/details/49819221 Jar的maven配置 <dependency><groupId> ...

  9. 将Jar安装到本地仓库和Jar上传到私服

    举例 1. 依赖如下: <dependency> <groupId>org.quartz-scheduler.internal</groupId> <arti ...

随机推荐

  1. ITS智能交通监控系统技术解析

    ITS智能交通监控系统技术解析 红灯,逆行,变 车辆抓拍和车速检测 非法停车和交通流量检测 交叉路口违法检测 发生碰撞的交叉口是智能交通管理. 机动执法 当你需要一个可以移动的系统时,会跟着你移动.移 ...

  2. Postman之newman的安装

    一.newman简介:newman是为Postman而生,专门用来运行Postman编写好的脚本:使用newman,你可以很方便的用命令行来执行postman collections. 二.newma ...

  3. JUC 并发编程--05, Volatile关键字特性: 可见性, 不保证原子性,禁止指令重排, 代码证明过程. CAS了解么 , ABA怎么解决, 手写自旋锁和死锁

    问: 了解volatile关键字么? 答: 他是java 的关键字, 保证可见性, 不保证原子性, 禁止指令重排 问: 你说的这三个特性, 能写代码证明么? 答: .... 问: 听说过 CAS么 他 ...

  4. mybatis在动态 SQL 中使用了参数作为变量,必须要用 @Param 注解

    如果在动态 SQL 中使用了参数作为变量,那么就要用 @Param 注解,即使你只有一个参数.如果我们在动态 SQL 中用到了 参数作为判断条件,那么也是一定要加 @Param 注解的,例如如下方法: ...

  5. 「10.19」最长不下降子序列(DP)·完全背包问题(spfa优化DP)·最近公共祖先(线段树+DFS序)

    我又被虐了... A. 最长不下降子序列 考场打的错解,成功调了两个半小时还是没A, 事实上和正解的思路很近了,只是没有想到直接将前$D$个及后$D$个直接提出来 确实当时思路有些紊乱,打的时候只是将 ...

  6. 【模板】Linux下输出文件的对比

    命令格式: diff+[参数]+[文件1或目录1]+[文件2或目录2] 命令参数: 指定要显示多少行的文本.此参数必须与-c或-u参数一并使用. -a或--text diff预设只会逐行比较文本文件. ...

  7. Map类型的Json格式

    示例代码: Map<String, Object> map = new HashMap<>();// boolean 类型 map.put("boolean" ...

  8. etcd 添加用户,授权特定目录

    适用场景 多组共用etcd集群,创建一个新用户.新目录,让这个新用户只有新目录的使用权限. 命令和顺序 创建目录,注意此处是v2 curl -u root:pwd http://host:2379/v ...

  9. ZooKeeper分布式锁的实现

    ZooKeeper分布式锁的实现. 在分布式的情况下,sychornized 和 Lock 已经不能满足我们的要求了,那么就需要使用第三方的锁了,这里我们就使用 ZooKeeper 来实现一个分布式锁 ...

  10. 1、JVM体系结构

    1.JVM跨语言的平台 随着java7的正式发布,java虚拟机的设计者们通过JSR-292规范基本实现在java虚拟机平台上运行非java语言编写的程序. java虚拟机根本不关心运行在其内部的程序 ...