$ JAVA_HOME / lib / jrt-fs.jar包含已编译为JDK 8的“ jrt”文件系统提供程序的副本。它用于在JDK 8上运行但需要访问JDK 9运行时映像的工具,例如IDE。
从异常中可以看出,此JAR文件或$ JAVA_HOME / lib似乎已错误地放在模块路径上。在顶层目录中不包含module- info.class的JAR文件将被视为自动模块,因此这就是异常消息中包含“ module jrt.fs”的原因。异常基本上仅表示由于将jrt- fs.jar放在模块路径上,所以最终得到了两个包含jdk.internal.jimage.decompressor包(以及许多其他包)的模块。