当前位置:  开发笔记 > 编程语言 > 正文

RuntimeException:在模块jrt.fs和模块java.base中打包jdk.internal.jimage.decompressor

如何解决《RuntimeException:在模块jrt.fs和模块java.base中打包jdk.internal.jimage.decompressor》经验,为你挑选了1个好方法。

组件详细信息 - 使用IntelliJ IDEA 2017.1 CEjdk-9-ea + 154

main() -

Set set2 = Set.of("a", "b", "c");
set2.forEach(System.out::println);

module-info.java

module collection {
    requires java.base;
}

日志 -

Error occurred during initialization of VM
java.lang.RuntimeException: Package jdk.internal.jimage.decompressor in both module jrt.fs and module java.base
    at jdk.internal.module.ModuleBootstrap.fail(java.base@9-ea/ModuleBootstrap.java:699)
    at jdk.internal.module.ModuleBootstrap.boot(java.base@9-ea/ModuleBootstrap.java:329)
    at java.lang.System.initPhase2(java.base@9-ea/System.java:1928)

对VM初始化实施感到怀疑,我的问题是我还没有包含模块jrt.fs- 图片来自哪里?如何调试此类模块包含/排除?如何进一步解决当前异常?



1> Alan Bateman..:

$ 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"的原因.异常基本上只是意味着你最终得到了两个包含jdk.internal.jimage.decompressor包(以及许多其他包)的模块,因为它将jrt-fs.jar放在模块路径上.


那么你如何解决这个问题呢?
推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有