javax.annotationのクラスとJava JDK 11

Sviatlana:

私は、Java 8からJavaの11に移行し、問題に直面しています。私が使用する必要があります。

  • ターゲット1.8でのMavenコンパイラー・プラグイン2.5.1(java8でWARをコンパイル)
  • tomcat9
  • オープンJDK 11

しかし、起動時にgettings一定のエラー:

失敗したマージされたBean定義の後処理; javax.annotation.Resource.lookup()Ljava /ラング/文字列;:ネストされた例外はjava.lang.NoSuchMethodErrorのあります

私はそれを修正する複数の方法を発見しました。依存関係を追加しようとしました:

        <dependency>
            <groupId>javax.annotation</groupId>
            <artifactId>javax.annotation-api</artifactId>
            <version>1.3.2</version>
        </dependency>

拡張子を追加しようとしました:

   <extensions>
        <extension>
            <groupId>javax.annotation</groupId>
            <artifactId>javax.annotation-api</artifactId>
            <version>1.3.2</version>
        </extension>
    </extensions>

これらの何も助けません。

これは、Mavenのコンパイラ・プラグインの設定です:

    <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.5.1</version>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
            <encoding>UTF-8</encoding>
        </configuration>
    </plugin>

解決策を見つけるために助けてください!

Sviatlana:

javax.annotations-API ^ 1.3.2とjsr250-API:1.0私にとっての問題は、LIBSの間で葛藤していました。javax.annotation。@リソースのルックアップWITHOUT jsr250-APIの注釈()メソッドがあります!いくつかの実行中の環境jsr250の@Resorseは、他の人に、最初にロードされたオン - javax.annotations-APIの。最初のケースでは、私のエラーが起こりました。

失敗したマージされたBean定義の後処理; javax.annotation.Resource.lookup()Ljava /ラング/文字列;:ネストされた例外はjava.lang.NoSuchMethodErrorのあります

解決:Mavenの除外を使用して、LIBSの一つを取り除きます。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=227354&siteId=1