使用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作为操作系统。从我读过的所有内容来看,上面的命令行应该是正确的。对于如何解决这个问题,有任何的建议吗?
这背后的原因是,同时创建自己的类,你也接受了创建一个IDE规定的默认类,并在你自己的类中编写代码后,你会收到这样的错误。为了消除这样,去PROJECT文件夹 - > src文件夹 - >默认包只保留一个类(在其中编写代码)并删除另一个。
之后运行您的程序,它肯定会运行没有任何错误。
你说你的module-info.java包含
module myModule {}
这意味着它声明了一个名为myModule
的模块,而不是com.pantech.myModule
。从命令格式指出: -
-m <module-name>/<main-class>