美文网首页mavenJava 杂谈Springboot整合
将jar包发布到本地maven仓库

将jar包发布到本地maven仓库

作者: 垃圾简书_吃枣药丸 | 来源:发表于2018-09-27 13:22 被阅读7次

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

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

    1. 下载腾讯短信服务源代码


      腾讯短信服务源代码
    2. 编译源代码,生成jar包
      mvn package
      生成jar包
    3. 发布该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包拷出来了
    xml $ 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>
    

    相关文章

      网友评论

        本文标题:将jar包发布到本地maven仓库

        本文链接:https://www.haomeiwen.com/subject/biceoftx.html