2

Hudson(1.368)でMavenのリリースプラグインを使用すると、NexusMavenリポジトリマネージャーへのデプロイフェーズ中にdistributionManagementセクションが欠落しているというエラーが発生します。リリースを使用せずにデプロイした場合は問題なく動作するため、サーバー、セクション、または設定の構成を誤ってはいけません。

私の会社がハドソンに異なるpomファイルを使用し、それらに異なる名前を付けていることは注目に値します。また、個々のプロジェクトディレクトリにあるsettings.xml。Hudsonではpomの名前と、設定ファイルの場所と名前を指定できるため、これが問題になることはありません。

上記に注意する理由は、distributionManagementを通常のpom.xmlに移動すると、それが検出されるためです(ただし、設定ファイルにユーザー名とパスワードがないため、機能しません)。これは、リリースプロセスの前の部分で、正しいpomと設定を使用するため、私を混乱させます。後でそれらを忘れているようです。ここで何が起こっているのですか?

前もって感謝します。

更新
mavenリリースプラグインは、別の名前のpomではなくデフォルトのpom.xmlを使用しているmavenの新しいインスタンスを起動するようです。より多くのテストが必要です。

4

2 に答える 2

3

答え(この質問に出くわした失われた魂のために)は、Mavenが正しいpomファイルと設定を使用していない新しいプロセスを実際にフォークしていたということです。解決策は、次のようにpomファイルにセクションを追加することでした。

<plugin>
    <artifactId>maven-release-plugin</artifactId>
    <version>2.0</version>
    <configuration>
        <goals>-f POMFILE -s SETTINGSFILE deploy</goals>
    </configuration>
</plugin>

これにより、これら2つのファイルが新しいMavenプロセスに指定されました。

于 2010-08-18T18:56:07.553 に答える
0

リリースを使用せずにデプロイした場合は問題なく動作するため、サーバー、セクション、または設定の構成を誤ってはいけません。

ええと、ハドソンレベルであろうと、明らかにどこかに設定ミスがあります。ただし、pom、設定、アクティブなプロファイル、リリース中に使用されたプロファイル、Hudsonのセットアップなどを確認せずに、それを見つけるのは困難です。

最初のステップ:Hudsonとまったく同じ構成を使用して、コマンドラインで問題を再現してみてください。

2番目のステップ:Mavenヘルププラグインを使用して、問題を理解してデバッグします。具体的には、次の目標です。

上記に注意する理由は、distributionManagementを通常のpom.xmlに移動すると、それが検出されるためです(ただし、設定ファイルにユーザー名とパスワードがないため、機能しません)。

distributionManagementプロジェクトの外部にある場合、がどこに指定されているかは不明ですpom.xml(企業環境では、通常、企業内pom.xmlにありますが、ここに当てはまりますか?)。

また、のリポジトリに一致するサーバーにusernameとを実際に提供しているかどうかも不明です。passwordididdistributionManagement

しかし、どういうわけか、ここでは間違った組み合わせが使用されています。提案されているように、リリース/デプロイ中にアクティブなプロファイル/設定を再確認して、問題を特定します。

も参照してください

于 2010-08-17T17:58:28.713 に答える