Grails 2.4.1 とThe Grails Release プラグインバージョン 3.0.1 を使用しています。
私は Sonatype nexus リポジトリ (v2.3.1-01) をセットアップしており、他のいくつかのプロジェクトで問題なく使用されています。
nexus の SNAPSHOT リポジトリ (および後でリリース リポジトリ) を介して配布する新しいプラグインを作成しようとしています。
${projectName}GrailsPlugin.groovy ファイルには次のものがあります。
def groupId ="my-department-grails-plugins"
def version = "0.1-SNAPSHOT"
私のapplication.propertiesファイルには次のものがあります:
app.name=MyPluginNameForGrails
私の BuildConfig.groovy には次のものがあります。
grails.project.repos.newsnapshots.url = "http://internal.server.address/nexus/service/local/repositories/snapshots"
grails.project.repos.newsnapshots.username = "username"
grails.project.repos.newsnapshots.password = "password"
次のコマンドで物事を開始しようとしています:
publish-plugin --snapshot --repository=newsnapshots --stacktrace
ビルドの成功は、ネクサスにプッシュしようとするまですべてがうまくいくように見え、次のようになります。
grails.project.repos.newsnapshots から構成されたユーザー名とパスワードを使用する ....エラー | プラグインの公開に失敗しました: アーティファクト 'ald-grails-plugins:my-plugin-name-for-grails:zip' のデプロイ中にエラーが発生しました: アーティファクトのデプロイ中にエラーが発生しました: ファイルの転送に失敗しました: http://internal.server.address/nexus/content /groups/public/my-department-grails-plugins/my-plugin-name-for-grails/0.1-SNAPSHOT/my-plugin-name-for-grails-0.1-20140815.191240-1.zip . 戻りコード: 400
関連すると思われる関連する StackOverflow の質問を見つけましたが、400 の原因として説明されている条件はありません。
400 年代の考えられる原因を説明している Sonatype Nexus の記事も見つけましたが、それもそうではないようです。
私が指しているリポジトリに気付いた場合、それは直接リポジトリへのものですが、エラーメッセージにはグループへのパスがリストされています。これはどういうわけか関連している可能性があると考えていますが、そうであれば...これはリリースプラグインの内部で何らかの形で発生しているように見えるため、修正方法がわかりません。
また、GrailsPlugin.groovy ファイルから -SNAPSHOT を削除し、目的のリポジトリを RELEASES リポジトリに変更したことも付け加えておきます。結果はまったく同じです。