将jar包发布到本地maven仓库

简介: 将jar包发布到本地maven仓库

项目中在对接第三方服务时经常需要引用第三方的jar包依赖,比如腾讯的短信服务https://cloud.tencent.com/document/product/382/13613
这种场景还是非常多的,如何将第三方的jar包发布到本地,This is a question

现以发布腾讯的短信服务SDK为例子,发布到本地仓库

  1. 下载腾讯短信服务源代码
    腾讯短信服务源代码
  2. 编译源代码,生成jar包
    mvn package

生成jar包

  1. 发布该jar包到本地maven仓库
$ mvn install:install-file -Dfile=C:\Users\11851\Downloads\qcloudsms_java-1.0.4\qcloudsms_java-1.0.4\target\qcloudsms-1.0.4.jar -DgroupId=com.github.qcouldsms -DartifactId=qcloudsms -Dversion=1.0.4 -Dpackaging=jar

发布jar包到本地仓库

之前发布了多次都失败了
发布失败
查看报错信息发现 The specified file 'C:\Users\11851\Downloads\qcloudsms_java-1.0.4\qcloudsms_java-1.0.4\C:Users11851Downloadsqcloudsms_java-1.0.4qcloudsms_java-1.0.4targetqcloudsms-1.0.4.jar' not exists
它是从相对当前命令行所在的路径再加上-Dfile路径查找jar包的,跟预期不太一样。所以上面那种写法将-Dfile写成绝对路径的方式行不通,应该是将-Dfile写成与jar包与当前命令行所在位置的相对路径。
我是将target中的jar包拷出来了

$ mvn install:install-file -Dfile=qcloudsms-1.0.4.jar -DgroupId=com.github.qcouldsms -DartifactId=qcloudsms -Dversion=1.0.4 -Dpackaging=jar

执行结果
现在可以在项目中使用了

 compile group: 'com.github.qcloudsms', name: 'qcloudsms', version: '1.0.4'

小记:
mvn install报错Failed to execute goal org.apache.maven.plugins:maven-gpg-plugin:1.5:sign
原因: 使用的版本是maven3.X,其执行maven-ant-plugin的行为和maven2.x有一定的不同,需要引入pluginManagement
解决方案:
解决办法是:在pom.xml中添加pluginManagement

before:
<build>
   <plugins>
      <plugin></plugin>
      ...
       <plugin></plugin>
    </plugins>
</build>

after:
<build>
   <pluginManagement>
   <plugins>
      <plugin></plugin>
      ...
       <plugin></plugin>
    </plugins>
  </pluginManagement>
</build>
目录
相关文章
|
4月前
|
Java Maven 容器
java依赖冲突解决问题之Maven在编译打包过程中对依赖的jar包如何解决
java依赖冲突解决问题之Maven在编译打包过程中对依赖的jar包如何解决
|
4月前
|
敏捷开发 Java 持续交付
阿里云云效产品使用合集之maven仓库是否可以代替自建的Nexus
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
1月前
|
Java Maven
maven打瘦包,且只打入部分想打入的依赖瘦包
maven打瘦包,且只打入部分想打入的依赖瘦包 设计 工程结构分析 环境管理 城市资源 安全工程 工程管理
53 10
|
1月前
|
Java 应用服务中间件 Maven
Maven的三种项目打包方式——pom,jar,war的区别
Maven 提供了多种打包方式,分别适用于不同类型的项目。pom 用于父项目或聚合项目,便于项目的结构和依赖管理;jar 用于Java类库或可执行的Java应用程序;war 则专用于Java Web应用程序的部署。理解这些打包方式的用途和特点,可以帮助开发者更好地配置和管理Maven项目,确保构建和部署过程的顺利进行。无论是单模块项目还是多模块项目,选择合适的打包方式对于项目的成功至关重要。
96 3
|
2月前
|
XML 安全 Java
【Maven】依赖管理,Maven仓库,Maven核心功能
【Maven】依赖管理,Maven仓库,Maven核心功能
685 3
|
4月前
|
Java Maven 容器
Maven使用IDEA自带工具打包,同时将lib下的jar包打入,双击jar包可直接运行
使用IntelliJ IDEA的Artifacts功能,可以将项目依赖的第三方jar包打包进jar文件中,实现双击jar包即可直接运行。
Maven使用IDEA自带工具打包,同时将lib下的jar包打入,双击jar包可直接运行
|
4月前
|
SQL 前端开发 Java
在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)
这篇文章介绍了如何在IntelliJ IDEA中使用Maven将Spring Boot项目打包成可运行的jar包,并提供了运行jar包的方法。同时,还讨论了如何解决jar包冲突问题,并提供了在IDEA中同时启动Vue前端项目和Spring Boot后端项目的步骤。
在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)
|
4月前
|
敏捷开发 JavaScript Java
阿里云云效产品使用合集之如何进行Maven私有仓库迁移
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
5月前
|
Java
[JarEditor]可直接修改jar包的IDEA插件
### 修改JAR包变得更简单:JarEditor插件简介 **背景:** 开发中常需修改JAR包中的class文件,传统方法耗时费力。JarEditor插件让你一键编辑JAR包内文件,无需解压。 **插件使用:** 1. **安装:** 在IDEA插件市场搜索JarEditor并安装。 2. **修改class:** 打开JAR文件中的class,直接编辑,保存后一键构建更新JAR。 3. **文件管理:** 右键菜单支持在JAR内新增/删除/重命名文件等操作。 4. **搜索:** 使用内置搜索功能快速定位JAR包内的字符串。
543 2
[JarEditor]可直接修改jar包的IDEA插件
|
5月前
|
弹性计算 Java Serverless
Serverless 应用引擎操作报错合集之上传自定义JAR包,启动时报错,是什么导致的
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。