7

使用したい Maven プラグインのバージョンをロックするにはどうすればよいですか?

PMD プラグインを次のように構成しました。

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-pmd-plugin</artifactId>
                <version>2.5</version>
                <configuration>
                    <outputDirectory>target/pmd</outputDirectory>
                    <targetDirectory>target/</targetDirectory>
                    <aggregate>true</aggregate>
                    <targetJdk>1.6</targetJdk>
                    <rulesets>
                        <ruleset>rulesets/basic.xml</ruleset>
                        <ruleset>rulesets/codesize.xml</ruleset>
                        <ruleset>rulesets/coupling.xml</ruleset>
                        <ruleset>rulesets/design.xml</ruleset>
                        <ruleset>rulesets/imports.xml</ruleset>
                        <ruleset>rulesets/logging-java.xml</ruleset>
                        <ruleset>rulesets/optimizations.xml</ruleset>
                        <ruleset>rulesets/strings.xml</ruleset>
                        <ruleset>rulesets/unusedcode.xml</ruleset>
                    </rulesets>
                </configuration>
            </plugin>

昨夜、ナイトリー ビルドが失敗し、そのプラグインのバージョン 2.6-SNAPSHOT を見つけようとしているため、pmd ゴールを実行できなくなりました。2.5 というバージョン タグがあるのに、なぜ 2.6-SNAPSHOT を見つけようとするのですか? また、2.6-SNAPSHOT は中央にありません - Maven クライアントが存在すると考えるのはなぜですか?

Maven バージョン: 2.0.9
Java バージョン: 1.6.0_17
OS 名: "linux" バージョン: "2.6.24-24-generic" アーチ: "i386" ファミリー: "unix"

編集:

Maven 2.2.1 にアップグレードしたところ、以前と同じ問題が発生しました。リポジトリ (.m2/repository/org/apache/maven/plugins/maven-pmd-plugin/maven-metadata-central.xml) のメタデータから 2.6-SNAPSHOT を削除することで、プロジェクトをビルドすることができました。また、latestVersion タグを 2.5 に設定しました。独自のプラグインを展開するか、すべてのクライアントでキャッシュされたバージョンを変更する必要があるため、これは明らかに解決策ではありません。

4

1 に答える 1

3

このような場合の標準的な手順: ローカル リポジトリ内の対応するプラグイン フォルダーを削除します。

.m2/repository/org/apache/maven/plugins/maven-pmd-plugin/

これは、ほとんどの場合に役立ちます。

そうでない場合は、リポジトリから不正なデータを取得している可能性があります。nexus を使用している場合は、インデックスを再構築します。

于 2010-08-25T15:12:42.190 に答える