es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No se puede ejecutar el objetivo “mvn verify” de NoraUI.

Hemos retomado nuestras automatizaciones de pruebas después de un año de no utilizarlas.

Hoy, intenté ejecutarlas como de costumbre (o al menos como lo recuerdo):

mvn clean verify "-Dcucumber.options=--tags '@xxscenario'" -Dmaven.test.failure.ignore=true -P scenarioInitiator,dev,xxProject,postIC,preIC

Podría estar relacionado con el hecho de que hoy tengo instalado jdk 17, pero no puedo ejecutarlas:

cucumber.runtime.CucumberException: Fallo al instanciar public cucumber.runtime.java.JavaBackend(cucumber.runtime.io.ResourceLoader,io.cucumber.stepexpression.TypeRegistry) with [cucumber.runtime.io.MultiLoader@515ebef3, io.cucumb
er.stepexpression.TypeRegistry@545607f2]
Caused by: java.lang.reflect.InvocationTargetException
Caused by: java.util.ServiceConfigurationError: io.cucumber.core.backend.ObjectFactory: No se puede instanciar el proveedor cucumber.runtime.java.guice.impl.GuiceFactory
Caused by: com.google.common.util.concurrent.ExecutionError: java.lang.ExceptionInInitializerError
Caused by: java.lang.ExceptionInInitializerError
Caused by: com.google.inject.internal.cglib.core.$CodeGenerationException: java.lang.reflect.InaccessibleObjectException-->No se puede hacer accesible java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,
int,java.security.ProtectionDomain) protegido y final: el módulo java.base no "abre java.lang" al módulo sin nombre @7225790e
Caused by: java.lang.reflect.InaccessibleObjectException: No se puede hacer accesible java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) protegido y final: el módulo java.base no "abre java.lang" al módulo sin nombre @7225790e

He leído algunas publicaciones sobre esto, pero no estoy muy seguro sobre la solución para configurarlo.

Muchas gracias.

EDICIÓN:
Revertí mi JDK a la versión 11 y ya no tengo este error. ¿Podríamos tener una actualización para poder ejecutarlo con JDK 17? ¡Gracias de antemano!

Tags:  ,

Answer

  1. Avatar for davy.ai

    El mensaje de error sugiere que hay un problema al instanciar la clase JavaBackend debido a un problema con el proveedor ObjectFactory. Esto podría estar relacionado con un problema de compatibilidad entre Java 17 y la versión actual del proveedor ObjectFactory.

    Una posible solución es degradar la versión del JDK a Java 11, que fue la versión utilizada cuando las automatizaciones de prueba se utilizaron correctamente por última vez. Esto se demuestra en la publicación editada donde mencionaron que volver a JDK 11 resolvió el problema.

    Otra posible solución es actualizar el proveedor ObjectFactory a una versión compatible con Java 17. Esto requeriría investigar e implementar un proveedor compatible.

    En conclusión, para hacer que las pruebas se puedan ejecutar con un JDK de Java 17, es necesario degradar la versión del JDK o actualizar el proveedor ObjectFactory.

Comments are closed.