maven手动上传jar到私服仓库:mvn deploy:deploy-file命令

一、场景

现需要将公司内部的jar包上传到私服仓库,供其他同事使用,此时就需要用到mvn deploy:deploy-file命令。

二、 mvn deploy:deploy-file命令

举个栗子:

xml 复制代码
mvn deploy:deploy-file 
-DgroupId=org.pttsql 
-DartifactId=pttsql 
-Dversion=69.6.0 
-Dpackaging=jar -Dfile=C:\Users\lee\Desktop\112\pttsql -69.6.0.jar 
-Durl=http://122.31.6.0:8981/repository/maven-releases 
-DrepositoryId=hidss-releases

1、命令参数说明

  • -Dfile:
    说明:要部署的文件的路径。
    示例:-Dfile=mylib-1.0.jar
  • -DgroupId:
    说明:项目的groupId,用于唯一标识项目所属的组织或公司。通常,这会是一个反向域名,例如com.example。
    示例:-DgroupId=com.example
  • -DartifactId:
    说明:项目的artifactId,用于唯一标识项目本身。这通常是项目的名称。
    示例:-DartifactId=mylib
  • -Dversion:
    说明:项目的版本号,用于标识项目的特定版本。
    示例:-Dversion=1.0
  • -Dpackaging:
    说明:文件的打包类型,如jar、war、pom等。
    示例:-Dpackaging=jar
  • -Durl:
    说明:仓库的URL地址,即要部署到的远程仓库的位置。
    示例:-Durl=http://repo.example.com/maven2/
  • -DrepositoryId:
    说明:与Maven的settings.xml文件中配置的<server>标签的id相匹配的服务器ID,用于认证。确保settings.xml文件中配置的<server>元素的id与此参数相匹配。
    示例:-DrepositoryId=my-repo-id
  • -DpomFile(可选):
    说明:如果需要部署POM文件,并且该文件与-Dfile指定的文件不同,则可以使用此参数指定POM文件的路径。
    示例:-DpomFile=path/to/pom.xml(当需要时)

2、在使用mvn deploy:deploy-file命令时,需要注意以下几点:

确保Maven的settings.xml文件位于正确的位置(通常是Maven安装目录下的conf文件夹,或者用户的.m2文件夹中)。

在settings.xml文件中正确配置<server>元素,包含仓库的认证信息(如用户名和密码),并确保id与-DrepositoryId参数相匹配。

检查网络连接和防火墙设置,确保可以访问Maven仓库的URL。

确保-Dfile指定的文件路径是正确的,并且文件确实存在于该路径下。

如果远程仓库中已经存在相同groupId、artifactId和version的包,Maven会拒绝部署。因此,确保版本号唯一,或者更新版本号。

3、总结

综上所述,mvn deploy:deploy-file命令通过一系列参数指定了要部署的文件、项目信息、仓库信息等,是Maven中用于将文件部署到远程仓库的重要工具。

相关推荐
武子康1 小时前
Java-80 深入浅出 RPC Dubbo 动态服务降级:从雪崩防护到配置中心秒级生效
java·分布式·后端·spring·微服务·rpc·dubbo
YuTaoShao4 小时前
【LeetCode 热题 100】131. 分割回文串——回溯
java·算法·leetcode·深度优先
源码_V_saaskw4 小时前
JAVA图文短视频交友+自营商城系统源码支持小程序+Android+IOS+H5
java·微信小程序·小程序·uni-app·音视频·交友
超浪的晨4 小时前
Java UDP 通信详解:从基础到实战,彻底掌握无连接网络编程
java·开发语言·后端·学习·个人开发
双力臂4045 小时前
Spring Boot 单元测试进阶:JUnit5 + Mock测试与切片测试实战及覆盖率报告生成
java·spring boot·后端·单元测试
Edingbrugh.南空5 小时前
Aerospike与Redis深度对比:从架构到性能的全方位解析
java·开发语言·spring
QQ_4376643146 小时前
C++11 右值引用 Lambda 表达式
java·开发语言·c++
永卿0016 小时前
设计模式-迭代器模式
java·设计模式·迭代器模式
誰能久伴不乏6 小时前
Linux如何执行系统调用及高效执行系统调用:深入浅出的解析
java·服务器·前端
慕y2746 小时前
Java学习第七十二部分——Zookeeper
java·学习·java-zookeeper