Estoy migrando desde Java 8 a 11 y de Java enfrentado el problema. Debería utilizar:
- Maven-compilador-plugin 2.5.1 con el objetivo 1.8 (compilación de WAR en java8)
- tomcat9
- Abrir JDK 11
Pero en el arranque gettings error constante:
El post-procesado de la definición de frijol fusionada fallado; excepción anidada es java.lang.NoSuchMethodError: javax.annotation.Resource.lookup () Ljava / lang / cadena;
He encontrado varias maneras de solucionarlo. Intentado añadir la dependencia:
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version>
</dependency>
tratado de extensión complemento:
<extensions>
<extension>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version>
</extension>
</extensions>
Nada de esto ayudó.
Esta es experta compilador-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>
Por favor, ayuda para encontrar la solución !!
Para mí el problema estaba en un conflicto entre libs: javax.annotations-api ^ 1.3.2 y jsr250-api: 1.0. Hay una javax.annotation. @ Anotación de recursos en jsr250-api método lookup () SIN! En algunos entornos que ejecutan @Resorse de jsr250 se carga por primera vez, en otros - de javax.annotations-api. En el primer caso tuvo lugar mi error:
El post-procesado de la definición de frijol fusionada fallado; excepción anidada es java.lang.NoSuchMethodError: javax.annotation.Resource.lookup () Ljava / lang / cadena;
Resolver: deshacerse de una de las librerías utilizando la exclusión experto.