1

nexusサーバーにアップロードするためにgradle uploadArtifactsを実行しようとしていますが、build.gradleが次の場合に機能します。

apply plugin: 'java'
version = "1.0"
uploadArchives {
    repositories { ivy { url "http://<server>/nexus/content/repositories/snapshots" } }
}

ただし、アップロード先のグループを指定した場合、たとえば build.gradle を次のように変更した場合:

apply plugin: 'java'
group = "test"      // <-- addition of group property
version = "1.0"
uploadArchives {
    repositories { ivy { url "http://<server>/nexus/content/repositories/snapshots" } }
}

次のように言って失敗します:

Execution failed for task ':uploadArchives'.
> Could not publish configuration 'archives'
   > java.io.IOException: Could not PUT 'http://<server>/nexus/content/repositories/snapshots/test/test-project/1.0/test-project-1.0.jar'. Received status code 400 from server: Bad Request

--debug を指定して実行すると、次のような例外が発生します。

Caused by: java.io.IOException: Could not PUT 'http://<server>/nexus/content/repositories/snapshots/test/test-project/1.0/test-project-1.0.jar'. Received status code 400 from server: Bad Request

これは新しいアーティファクトであるため、サーバー上にディレクトリを作成するのに問題があるのではないかと思いましたが、手動で test/test-project/1.0 を作成しても、アップロードは失敗します。(グループIDがなくても失敗するわけではありませんが、これはネクサスの問題ではないと私は信じています)。

私のセットアップは次のとおりです。

Gradle 1.5 Gradle ビルド時間: 2013 年 3 月 27 日水曜日 1:51:06 PM UTC Groovy: 1.8.6 Ant: 2012 年 5 月 22 日にコンパイルされた Apache Ant(TM) バージョン 1.8.4 Ivy: 2.2.0 JVM: 1.6.0_43 (Apple Inc. 20.14-b01-447) OS: Mac OS X 10.7.5 x86_64

Sonatype Nexus™ 2.3.0-04

誰かがこれを以前に見たことがありますか、または私が間違っている可能性があることを知っていますか?

ありがとうございました。

4

1 に答える 1

3

gradle についてはまったくわかりませんが、スナップショット以外のアーティファクトをスナップショット リポジトリに公開しようとしているようです。

version = "1.0"
url "http://<server>/nexus/content/repositories/*snapshots*"

また、最終的な URL でそれを確認できます。 http://<server>/nexus/content/repositories/snapshots/test/test-project/1.0/test-project-1.0.jar

于 2013-04-15T17:06:07.127 に答える