如何解决“Error occurred during initialization of boot layer”启动层初始化错误
运行Java代码时出现boot layer初始化错误的解决方法
错误信息
Error occurred during initialization of boot layer
java.lang.LayerInstantiationException: Package jdk.internal.jimage.decompressor in both module jrt.fs and module java.base
项目结构截图

代码示例
ClassSample.java
package Java_Practice.chapter3; public class ClassSample { public static void main(String[] args) { Cat taro = new Cat("太郎", 3); Cat mike = new Cat("ミケ", 5); Cat tama = new Cat("タマ", 4); Cat[] cats = {taro, mike, tama}; for(Cat cat : cats) { cat.shout(); cat.introduce(); } System.out.println("今までに作成したCatインスタンスの数: " + Cat.count); } }
Cat.java
package Java_Practice.chapter3; public class Cat { public static int count = 0; public String name; public int age; public Cat(String name, int age){ this.name = name; this.age = age; Cat.count++; } public void shout() { System.out.println("にゃー!"); } public void introduce() { System.out.println("名前は" + this.name + "、" + this.age + "才です。"); this.shout(); } }
解决方法
- 检查模块化配置:如果项目不需要Java模块化,直接删除项目中的
module-info.java文件;若需模块化,确保module-info.java中没有重复引入java.base或jrt.fs这类系统模块(系统模块默认自动引入,无需手动添加)。 - 调整IDE模块设置:以IntelliJ IDEA为例,打开
File -> Project Structure -> Modules,检查当前模块的依赖项,移除重复的JDK相关模块,或取消勾选模块的"Module"标识,切换为非模块化项目。 - 重新配置项目JDK:确认项目使用的JDK路径正确,未混用不同版本JDK。可在
Project Structure -> Project Settings -> Project中指定正确JDK版本,同时在SDKs中确保JDK配置无误。 - 清理IDE缓存:执行
File -> Invalidate Caches... -> Invalidate and Restart,清理缓存后重新编译运行项目。
内容的提问来源于stack exchange,提问作者user14251920
相关产品推荐
相关产品推荐

