web-dev-qa-db-ja.com

Maven-Eclipseで管理対象バージョンの警告を無効にする

私は使っている spring-boot、および説明されたものと同様のエラーが発生しました here 。 pom.xmlに以下を追加しました。

    <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId><!--$NO-MVN-MAN-VER$-->
        <version>1.1.0.Final</version>
    </dependency>

親のpom.xmlで定義されているvalidation-api 1.0.0依存関係を、Springブートによってオーバーライドしています。これにより、厄介な警告メッセージが表示されます。

Validation-apiの管理対象バージョン1.0.0.GAのオーバーライド

Eclipseでこの警告メッセージを永久に抑制するにはどうすればよいですか? pom.xmlと問題ビューの両方に表示されます。

その警告が表示されたら、警告のクイック修正メニューを開き(Ctrl + 1)、

この警告を無視

これにより、バージョン行に次のようなコメントが追加されます。

<dependency>
   <groupId>javax.validation</groupId>
   <artifactId>validation-api</artifactId>
   <version>1.1.0.Final</version><!--$NO-MVN-MAN-VER$-->
</dependency>

問題は、そのコメントを間違った行に手動で追加したことです。

33
Fred Bricon

プロジェクトはspring-bootを使用しているため、より適切な答えがここにあります: https://stackoverflow.com/a/35385268/1568658

(そして、同じ問題が発生したため、上記の回答もあまり完全ではありません。ここに回答を追加します。)

問題の理由:

spring-bootは多くの依存関係とそのバージョンを定義しています。spring-bootを親として使用すると、これらの依存関係が継承されます。 '依存関係。

解決策:

<properties></properties>間の依存関係のプロパティを定義して、バージョンを指定します。

例えば

        <properties>
            <reactor.version>2.5.0.BUILD-SNAPSHOT</reactor.version>
        </properties>

プロパティ名の見つけ方:

  • Eclipseでpom.xmlを開きます。
  • ctrl + clickタグの<parent>は、親のPOMを開き、再帰的に2回クリックして、spring-boot-dependenciesとしてartifactIdでPOMに到達する必要があります。
  • そのpomを開いたら、依存関係、たとえばservlet-apiを検索すると、デフォルトバージョンが表示されます。

それをより良く説明する春の文書があります: https://spring.io/blog/2016/04/13/overriding-dependency-versions-with-spring-boot

24
Eric Wang

メインpomで必要なバージョンを入力します。

この警告は、メイン(トップレベル)POMで定義されているアーティファクトバージョンをオーバーライドしようとしていることを意味します。メインポンで必要なバージョンを入力するだけで、この依存関係の他のポンで<version />を使用する必要さえありません。

3
Dmitriy Bereza