Test.class found in top-level directory (unnamed package not allowed in module)

Java About 540 words

具体错误

Error occurred during initialization of boot layer
java.lang.module.FindException: Error reading module: D:\Demo\out\production\Demo
Caused by: java.lang.module.InvalidModuleDescriptorException: Test.class found in top-level directory (unnamed package not allowed in module)

错误原因

工程基于Java11,在Java9之后采用分模块机制,所以工程引入了module-info.java,而自己编写的类又处于和module-info.java同级目录,故出现此错误。

解决方法

方法一

将自定义的类和module-info.java处于不同级目录,如新建包路径org.exmaple,将自定义类Test.java移动到org.example包下。

方法二

删除module-info.java这个类。但是对于引入了非java.base模块的工程,删除module-info.java将出现问题。

Views: 4,638 · Posted: 2021-07-08

————        END        ————

Give me a Star, Thanks:)

https://github.com/fendoudebb/LiteNote

扫描下方二维码关注公众号和小程序↓↓↓

扫描下方二维码关注公众号和小程序↓↓↓


Today On History
Browsing Refresh