アップデート
プラグイン管理は、(親または同じプロジェクトから) プラグインのデフォルト構成を共有するためのメカニズムであり、有効なpom build plugins
セクションの値によってオーバーライドされるため、これは解決策ではありません。
アクティブ化され、プラグインのバージョン値を上書きするプロファイルが pom にある可能性があります (以下のデバッグの下を参照し、有効な pom を読んでください)。pom のプロファイル ノードをコメント アウト ( <!--
, ) し、そうであればビルドを再実行します。-->
これが原因である場合は、pom でプロファイルを無効にするか、コマンド ラインから実行するときに Linux の場合は-P !<PROFILE_NAME>
orを追加するだけです。-P \!<PROFILE_NAME>
より具体的には、pom が次のようになっている場合:
<project>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>someGroupId</groupId>
<artifactId>someArtifactId</artifactId>
<version>versionFromPluginManagement</version>
...
</pluginManagement>
<plugins>
<plugin>
<groupId>someGroupId</groupId>
<artifactId>someArtifactId</artifactId>
<version>versionFromPlugins</version>
...
</build>
<profiles>
<profile>
<activation>
<activeByDefault>BOOLEAN_STRING</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>someGroupId</groupId>
<artifactId>someArtifactId</artifactId>
<version>versionFromProfile</version>
...
</project>
アーティファクトは、、、およびセクションsomeGroupId:someArtifactId
で定義されます。バージョンの解像度は次のとおりです。pluginManagement
plugins
profiles
versionFromPlugins
が定義されておらず、BOOLEAN_STRING が指定されている場合false
、結果のバージョンは次のようになります。versionFromPluginManagement
versionFromPlugins
が定義され、BOOLEAN_STRING が指定されている場合false
、結果のバージョンは次のようになります。versionFromPlugins
- BOOLEAN_STRING の場合
true
、結果のバージョンはversionFromProfile
そうでない場合は、次を実行してください。
mvn help:effective-pom > pom.log
mvn help:effective-settings > settings.log
mvn -version > environment.log
ここにコンテンツを投稿します。
元の答え
ローカルのpomファイル構成に勝るグローバルなmaven設定ファイルはありますか?
はい、あります。実際には少なくとも 2 つあります。maven インストール フォルダーにあるグローバル フォルダーと、ローカル リポジトリ フォルダーの隣にあるユーザーごとのフォルダーです。
プロジェクトに対して maven を実行すると、これら 2 つのファイルが pom ファイルで補間され、プロジェクトのビルド時に適用される結果のファイルが計算されます。
デバッグ
mvn -X clean compile > build.log
-X
- (デバッグ) コマンド ライン フラグを使用して、詳細な出力で maven を実行します。大量の出力がある>
ため、ファイルにパイプ ( ) することをお勧めします。これは、プラグインを実行する前にすべてのプラグイン プロパティとその実際の値を確認できるため、誤ったドキュメントでプラグインを使用する場合に特に役立ちます。
mvn help:effective-pom > pom.log
プロジェクトのビルド時に適用される pom を計算します。また、アクティブなプロファイルも表示されます。
mvn help:effective-settings > settings.log
プロジェクトのビルド時に適用される設定を計算します
最初に有効な pom を調べてから、出力をデバッグし、最後に有効な設定を調べます。
環境
まれに、問題が環境にある可能性があります。Maven は Java を使用していることに注意する必要があるため、実際の環境を知るためにこれらが必要になります。
java -version
mvn -version
Maven は、次の環境変数によってその環境を認識します (インストール手順を参照してください)。
M2_HOME
- Maven インストール フォルダーのルートへの絶対パス
M2
- 上記のbin
フォルダー。maven 実行可能ファイルが存在する場所
JAVA_HOME
-JDK インストール フォルダー ルートへの絶対パス - この値を変更すると、Maven が使用する Java が変更されます
もちろん、3 つの変数はすべてPATH 環境変数に含まれている必要があります。