1. ホーム
  2. gradle

[解決済み] Gradleを使用してArtifactoryにアーティファクトをアップロードする

2023-03-24 17:47:10

質問

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'   // Artifactory repository key to publish to
            username = 'publisher'      // publisher user name
            password = '********'       // publisher password
            maven = true
        }
    }
}
    
artifactoryPublish { 
    dependsOn jar
}

を実行した後 artifactoryPublish タスクを実行すると、以下のようにビルドに成功します。

> 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さんのおっしゃるとおり、以下を追加しました。

apply plugin: 'maven-publish'

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

で、デフォルトのセクションをアーティファクトリータスクにします。

defaults {
   publications ('mavenJava')
}

これで動作するようになりました。

ありがとうございます。

どのように解決するのですか?

それは、あなたが任意の publications . は artifactory-publish プラグイン で動作します。 maven-publish プラグイン とアップロード publications .

もしあなたが で作業することを好むなら、古いmavenプラグインである を使いたいのであれば artifactory プラグイン でなく artifactory-publish .

を見てみましょう。 Gradle を使ってみよう! をご覧ください。