初始化引导层期间发生错误FindException:找不到模块

问题描述 投票:2回答:2

使用Java 9执行简单的Hello World程序会导致以下错误消息:

Error occurred during initialization of boot layer  
java.lang.module.FindException: Module com.pantech.myModule not found

我执行的命令行是:

java --module-path bin -m com.pantech.myModule/com.pantech.myModule.HelloWorld

此命令行从我的bin目录的父目录执行,该目录包含所有.class字节码文件。

module-info.class文件位于bin目录中的com.pantech.myModule目录中。 HelloWorld.class文件包含main方法,位于com.pantech.myModule目录的package目录中。因此,HelloWorld.class文件的路径名是bin \ com.pantech.myModule \ com \ pantech \ myModule \ HelloWorld.class。

HelloWorld类位于com.pantech.myModule包中(包名与模块名相同)。

我使用Windows 10作为操作系统。从我读过的所有内容来看,上面的命令行应该是正确的。对于如何解决这个问题,有任何的建议吗?

java java-9 java-module
2个回答
8
投票

这背后的原因是,同时创建自己的类,你也接受了创建一个IDE规定的默认类,并在你自己的类中编写代码后,你会收到这样的错误。为了消除这样,去PROJECT文件夹 - > src文件夹 - >默认包只保留一个类(在其中编写代码)并删除另一个。

之后运行您的程序,它肯定会运行没有任何错误。


1
投票

你说你的module-info.java包含

module myModule {}

这意味着它声明了一个名为myModule的模块,而不是com.pantech.myModule。从命令格式指出: -

 -m <module-name>/<main-class>
© www.soinside.com 2019 - 2024. All rights reserved.