Saltar al contenido

RuntimeException: paquete jdk.internal.jimage.decompressor en el módulo jrt.fs y el módulo java.base

Hola, tenemos la respuesta a tu búsqueda, desplázate y la encontrarás un poco más abajo.

Solución:

$JAVA_HOME/lib/jrt-fs.jar contiene una copia del proveedor del sistema de archivos “jrt” compilado en JDK 8. Es para herramientas como IDE que se ejecutan en JDK 8 pero necesitan acceder a una imagen de tiempo de ejecución de JDK 9.

A partir de la excepción, parece que este archivo JAR, o tal vez $JAVA_HOME/lib, se ha colocado en la ruta del módulo por error. Los archivos JAR que no contienen un module-info.class en el directorio de nivel superior se tratan como módulos automáticos, por lo que la excepción tiene “module jrt.fs” en el mensaje. La excepción básicamente significa que terminó con dos módulos que contienen el paquete jdk.internal.jimage.decompressor (y muchos otros paquetes) debido a que colocó jrt-fs.jar en la ruta del módulo.

Tuve el mismo problema en Manjaro Linux, mientras funcionaba bien en Windows. Al observar las diferencias, quedó claro que el paquete javafx 11 se instala en /lib/jvm/java-11-openjdk/lib, que luego configuré como PATH_TO_FX. Este parece ser el problema, porque jrt-fs.jar está en la misma carpeta.

Moví todos los archivos de fx a una carpeta separada y luego la configuré como PATH_TO_FX. Ahora funciona bien.

Recibí el mismo error en Arch Linux. El paquete java-openjfx instala sus bibliotecas en el directorio lib del openjdk, que parece causar problemas. Encontré una solución al agregar no todo el directorio lib, sino solo las bibliotecas necesarias.

En la estructura del proyecto> Bibliotecas> +> Java> /usr/lib/jvm/default/lib> seleccione las bibliotecas necesarias (presionando ctrl) debería verse así

Luego, en Ejecutar configuraciones, configure las Opciones de VM en consecuencia

    --module-path /usr/lib/jvm/java-14-openjdk/lib/javafx.base.jar:/usr/lib/jvm/java-14-openjdk/lib/javafx.controls.jar:/usr/lib/jvm/java-14-openjdk/lib/javafx.graphics.jar --add-modules=javafx.controls

Para mi proyecto, fue suficiente solo agregar controles como módulo, pero se requería la ruta a la base y los gráficos para que se ejecutara.

Si sostienes alguna sospecha o forma de innovar nuestro crónica puedes ejecutar un comentario y con deseo lo leeremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *