web-dev-qa-db-fra.com

classes javax.annotation et Java 11 JDK

Je migre de Java 8 vers Java 11 et j'ai rencontré le problème. Je devrais utiliser:

  • maven-compiler-plugin 2.5.1 avec la cible 1.8 (compilation de WAR en Java8)
  • Tomcat9
  • Ouvrir JDK 11

Mais au démarrage, erreur constante:

Le post-traitement de la définition du bean fusionné a échoué; l'exception imbriquée est Java.lang.NoSuchMethodError: javax.annotation.Resource.lookup () Ljava/lang/String;

J'ai trouvé plusieurs façons de le réparer. J'ai essayé d'ajouter une dépendance:

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

essayé d'ajouter l'extension:

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

Rien de tout cela n'a aidé.

Voici la configuration de maven-compiler-plugin:

    <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>

Aidez-nous à trouver la solution !!

3
Sviatlana

J'ai eu le même problème.

J'ai ajouté ces lignes, avec succès:

<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>
0
etienne_sf