Java 的 Module(模块)报错通常和 Java 9 引入的 JPMS(Java Platform Module System) 有关。报错原因很多,下面按常见场景 + 解决办法给你系统梳理一下。
module not foundError: Module 'xxx' not found
原因:
module-info.java 中 requires xxx; 写错了module name 不一致解决:
jar --describe-module --file xxx.jar
java --module-path lib -m com.example/app
package xxx is not visible package com.sun.xxx is not visible
(package com.sun.xxx is declared in module java.base,
which does not export it to module xxx)
原因:
解决:
sun.* / com.sun.*--add-exports java.base/com.sun.xxx=ALL-UNNAMED
cannot access class because module does not exportIllegal reflective access
原因:
解决:
--add-opens java.base/java.lang=ALL-UNNAMED
Unnamed module reads package from named module
原因:
解决:
module-info.java 却被当模块跑--module requires a module descriptor
原因:
--module 但 JAR 不是模块解决:
module-info.java--module,用 classpath 运行module com.example {
requires spring; // 错
}
✅ 正确模块名:
requires spring.core;
module com.example {
}
外部无法访问你的类
✅ 导出:
exports com.example.service;
module com.example {
exports com.example.entity;
}
框架反射失败
✅ 开放:
opens com.example.entity;
--module-path?classpath?java --list-modules
jar --describe-module --file xxx.jar
你可以直接贴:
module-info.java我可以 逐行帮你定位并给出改法 ✅
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。