其他分享
首页 > 其他分享> > Test.class found in top-level directory (unnamed package not allowed in module)

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

作者:互联网

具体错误

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将出现问题。

标签:info,java,自定义,package,top,level,module,allowed,Test
来源: https://blog.csdn.net/weixin_42571453/article/details/123097306