使用gradle将artifact上传到artifactory

我是Gradle和Artifactory的新手,我想上传一个jar文件到Artifactory。 这是我的build.gradle文件。

apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'maven' apply plugin: 'artifactory-publish' groupId = 'myGroup' version = '1.0' def artifactId = projectDir.name def versionNumber = version artifactory { contextUrl = 'http://path.to.artifactory' // base artifactory url publish { repository { repoKey = 'libs-releases' //The Artifactory repository key to publish to username = 'publisher' //The publisher user name password = '********' //The publisher password maven = true } } } artifactoryPublish { dependsOn jar } 

运行artifactoryPublish任务后,构build成功如下。

 > gradle artifactoryPublish --stacktrace :compileJava UP-TO-DATE :processResources UP-TO-DATE :classes UP-TO-DATE :jar :artifactoryPublish Deploying build info to: http://path.to.artifactory/api/build BUILD SUCCESSFUL Total time: 7.387 secs 

但是,没有任何东西发送到Artifactory,除了构build信息。

任何帮助都感激不尽

通恰伊

编辑:

JBaruch提到,我补充说

 apply plugin: 'maven-publish' publishing { publications { mavenJava(MavenPublication) { from components.java } } } 

并将部分默认为artifactory任务

 defaults { publications ('mavenJava') } 

现在起作用了。

谢谢

那是因为你没有任何publicationsartifactory-publish插件与maven-publish插件一起工作,并上传publications

如果您喜欢使用旧的Maven插件 ,则需要artifactory插件 ,而不是artifactory-publish

查看官方文档的“使用Gradle”页面中的Overview部分 。

我得到了这个工作。 我实际上是使用已经创build的jar,所以我使用下面的代码来指定我要上传的jar:

 publishing { publications { mavenJava(MavenPublication) { // from components.java artifact file("path/jar-1.0.0.jar") } } }