首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Gradle将工件上传到Artifactory

使用Gradle将工件上传到Artifactory
EN

Stack Overflow用户
提问于 2014-03-12 21:04:34
回答 5查看 85.3K关注 0票数 87

我是Gradle和Artifactory的新手,我想上传一个JAR文件到Artifactory。

这是我的build.gradle文件:

代码语言:javascript
运行
复制
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'   // Artifactory repository key to publish to
            username = 'publisher'      // publisher user name
            password = '********'       // publisher password
            maven = true
        }
    }
}

artifactoryPublish { 
    dependsOn jar
}

运行artifactoryPublish任务后,构建成功,如下所示:

代码语言:javascript
运行
复制
> 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发送任何内容。

任何帮助都将不胜感激。

编辑:

正如JBaruch提到的,我已经添加了

代码语言:javascript
运行
复制
apply plugin: 'maven-publish'

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

和artifactory任务的默认值部分

代码语言:javascript
运行
复制
defaults {
   publications ('mavenJava')
}

现在它起作用了。

谢谢

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-03-12 22:06:01

这是因为您没有任何publicationsartifactory-publish pluginmaven-publish plugin一起工作,并上传publications

如果你喜欢使用the old maven plugin,你需要的是artifactory plugin,而不是artifactory-publish

看看官方文档的Overview part in "Working with Gradle" page

票数 57
EN

Stack Overflow用户

发布于 2016-03-17 19:47:05

我把它弄好了。我实际上使用的是一个已经创建的jar,所以我使用下面的代码来指定要上传的jar:

代码语言:javascript
运行
复制
publishing {
    publications {
        mavenJava(MavenPublication) {
            // from components.java
            artifact file("path/jar-1.0.0.jar")
        }
    }
}
票数 11
EN

Stack Overflow用户

发布于 2018-07-14 21:49:48

你需要插件:

代码语言:javascript
运行
复制
apply plugin: 'java'
apply plugin: 'groovy'
apply plugin: 'maven'
apply plugin: 'maven-publish'
apply plugin: 'com.jfrog.artifactory'

要构建项目并从artifactory检索jars:

代码语言:javascript
运行
复制
buildscript {
    repositories {
        maven {
            url 'http://[IP]:[PORT]/artifactory/gradle-dev'
            credentials {
                username = "${artifactory_user}"
                password = "${artifactory_password}"
            }
        }
        mavenCentral()
    }
    dependencies { classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.5.4" }
}

repositories {
    mavenCentral()
    mavenLocal()
}

Artifactory配置:

代码语言:javascript
运行
复制
artifactory {
    contextUrl = "${artifactory_contextUrl}"
    publish {
        repository {
            repoKey = 'gradle-dev-local'
            username = "${artifactory_user}"
            password = "${artifactory_password}"
            maven = true
        }
        defaults {
            publications('mavenJava')
        }
        publishBuildInfo = true
        publishArtifacts = true
        publishPom = true
    }
    resolve {
        repository {
            repoKey = 'gradle-dev'
            username = "${artifactory_user}"
            password = "${artifactory_password}"
            maven = true

        }
    }
}

和发布:

代码语言:javascript
运行
复制
publishing {
    publications {
        mavenJava(MavenPublication) {
            from components.java
        }
    }
}

gradle.properties

代码语言:javascript
运行
复制
artifactory_user=publisher
artifactory_password=*****
artifactory_contextUrl=http://IP:PORT/artifactory

所以一切都很简单。如果你想上传你的jar:

代码语言:javascript
运行
复制
gradle artifactoryPublish
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22352475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档