Gradle artifactoryPublish不会部署由spring boot生成的.jar文件

时间:2016-08-23 09:57:35

标签: gradle spring-boot artifactory

我尝试使用gradle + artifactory插件+ maven-publish插件将jar + pom文件部署到artifactory。

我尝试过其他来源的多个解决方案,例如this,我认为spring-boot插件正在破解(因为它编辑了jar文件)

以下脚本成功上载了.pom文件,但没有成功上传spring-boot生成的.jar文件。我如何才能上传它?

这是我的build.gradle:

artifactory {
    contextUrl = 'url'
    publish {
        repository {
            repoKey = 'libs-release-local'
            username = 'user'
            password = 'password'
        }
        defaults {
            publications("mavenJava")
        }
    }
}

和artifactory.gradle

gradlew clean build artifactoryPublish


[buildinfo] Not using buildInfo properties file for this build.                  
:clean                      
:compileJava                                                                                                                
:processResources
:classes
:findMainClass
:jar
:bootRepackage                                                                                                        
:assemble
:compileTestJava                                                                  
:processTestResources UP-TO-DATE
:testClasses
:test                                                         
:check
:build
:generatePomFileForMavenJavaPublication                 
:artifactoryPublish
Deploying artifact: http://url/libs-release-local/BatchParser/1.0/BatchParser-1.0.pom
Deploying build descriptor to: http://url/api/build
Build successfully deployed. Browse it in Artifactory under http://url/webapp/builds/BatchParser/1471949957594

输出:

[pr-gis-db]
host=pr-gis-db
user=peregrinius
dbname=gis
port=5432

1 个答案:

答案 0 :(得分:4)

publishing阻止了一个非常微妙的错误。缺少from导致Gradle无法在发布中包含jar文件。您需要更新publishing块,使其如下所示:

publications {
    mavenJava(MavenPublication) {
        from components.java
    }
}

如果我是你,我会为此打开一个Gradle可用性错误。默默地做任何事都不是用户友好的。