私はJava 8からJava 11に移行し、問題に直面しました。私は以下を使用する必要があります。
しかし、起動時に一定のエラーが発生します:
マージされたBean定義の後処理が失敗しました。ネストされた例外はJava.lang.NoSuchMethodErrorです:javax.annotation.Resource.lookup()Ljava/lang/String;
私はそれを修正する複数の方法を見つけました。依存関係を追加しようとしました:
<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-compiler-plugin configです:
<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>
解決策を見つけるのを助けてください!!
同じ問題がありました。
私はこれらの行を追加し、成功しました:
<build>
...
<extensions>
<!-- Prevents this error, with JDK 13: -->
<!-- NoSuchMethodError: 'Java.lang.String javax.annotation.Resource.lookup()' -->
<extension>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version>
</extension>
<extension>
<groupId>javax.annotation</groupId>
<artifactId>jsr250-api</artifactId>
<version>1.0</version>
</extension>
</extensions>
</build>