使用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') }
现在起作用了。
谢谢
那是因为你没有任何publications
。 artifactory-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") } } }