将jar包发布到本地maven仓库
项目中在对接第三方服务时经常需要引用第三方的jar包依赖,比如腾讯的短信服务https://cloud.tencent.com/document/product/382/13613
这种场景还是非常多的,如何将第三方的jar包发布到本地,This is a question
现以发布腾讯的短信服务SDK为例子,发布到本地仓库
- 下载腾讯短信服务源代码
- 编译源代码,生成jar包
mvn package
- 发布该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
坑
之前发布了多次都失败了
查看报错信息发现 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>

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
java.lang.NullPointerException: Expected timestamp in the Flume event ...
添加如下配置 a1.sinks.k1.hdfs.useLocalTimeStamp = true
- 下一篇
断点调试和日志调试之间的平衡点 --- 函数计算调试之python篇
python 调试篇 很多初学者喜欢使用断点调试,方便之处是可以查到运行期各种栈内的变量值,来帮助debug。但这一点如果脱离了IDE,其实是非常困难的。在服务器的执行过程中,更需要使用attach的方式才可能做到这点。 对于一些生产环境的错误定位,用断点调试几乎是完全不可能的。 而使用日志来做错误定位,对于一些脚本语言,尤其弱类型的语言,当你将一个变量经过多个函数传递的过程中,如果传递过程中不小心有拼写错误,只有最后使用到这个变量的地方才报出错误来,使用日志的方式要定位什么地方写错了非常困难,对于生产环境中多分支调用链极长的逻辑,更是难上加难。 本文将介绍一种结合函数堆栈,捕获栈中local变量的方式来达到快速定位bug的目的。 相对于其他runtime,python可以获取到很多运行时信息。通常来说,通过异常捕获,python 默认的t
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS关闭SELinux安全模块
- Linux系统CentOS6、CentOS7手动修改IP地址
- Windows10,CentOS7,CentOS8安装Nodejs环境
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Red5直播服务器,属于Java语言的直播服务器