使用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作为操作系统。从我读过的所有内容来看,上面的命令行应该是正确的。有关如何解决此问题的任何建议吗?
答案 0 :(得分:8)
在执行硒测试时,我遇到了同样的问题,我从Eclipse的Build path下的ModulePath到ClassPath中删除了硒依赖项,并且有效!
答案 1 :(得分:7)
其背后的原因是,在创建自己的类的同时,您也接受了按照IDE的规定创建默认类的问题,并且在自己的类中编写代码后,您会遇到此类错误。为了消除这种情况,请转到PROJECT文件夹-> src文件夹->默认程序包仅保留一个类(在其中编写了代码),然后删除另一个类。
在那之后运行您的程序,它肯定会运行而没有任何错误。
答案 2 :(得分:3)
我遇到了类似的问题,我遇到的问题是我在 selenium-server-standalone-3.141.59.jar
下添加了 modulepath
而它应该在 classpath
下
所以通过classpath
选择(project -> Properties -> Java Bbuild Path -> Libraries)
添加下载的最新 jar
添加后一定是这样的
必须为我下载适当的浏览器驱动程序我检查并下载了相同版本的 chrome for chrome driver 并添加到 C:\Program Files\Java
以下是对我来说很好用的代码
public class TestuiAautomation {
public static void main(String[] args) {
System.out.println("Jai Ganesha");
try {
System.setProperty("webdriver.chrome.driver", "C:\\Program Files\\Java\\chromedriver.exe");
System.out.println(System.getProperty("webdriver.chrome.driver"));
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("no-sandbox");
chromeOptions.addArguments("--test-type");
chromeOptions.addArguments("disable-extensions");
chromeOptions.addArguments("--start-maximized");
WebDriver driver = new ChromeDriver(chromeOptions);
driver.get("https://www.google.com");
System.out.println("Google is selected");
} catch (Exception e) {
System.err.println(e);
}
}
}
答案 3 :(得分:2)
我通过进入“属性”->“ Java构建路径”并重新排序源文件夹使其位于JRE系统库上方来解决了这个问题。
答案 4 :(得分:1)
你说你的module-info.java包含
module myModule {}
这意味着它声明了一个名为myModule
,不 com.pantech.myModule
的模块。从命令格式指出: -
-m <module-name>/<main-class>
答案 5 :(得分:0)
我遇到了同样的问题,并通过以下方式解决了该问题:
注意:首先,请确保Java使用CMD命令以这种方式工作,您将了解问题出在Eclipse而非JDK上。
答案 6 :(得分:0)
当我将Java版本更新为12.x时,我遇到了同样的问题。我正在通过Eclipse IDE执行项目。我不确定此错误是否是由兼容性问题引起的。
但是,我从系统中删除了12.x并安装了8.x,并且我的项目开始正常运行。
答案 7 :(得分:0)
将bin文件夹添加到.gitignore后,我刚刚遇到了相同的问题,不确定是否导致了问题。
我通过转到Project / Properties / Build Path解决了该问题,并删除了scr文件夹并再次添加。
答案 8 :(得分:0)
检查您在jdk 9或更高版本中构建的项目,高于eclipse的模块存在一些问题。将其更改为jdk 9,然后它将运行正常
答案 9 :(得分:0)
在删除我的 bin 文件夹以将其从我的 git 历史记录中删除后,我遇到了这个问题。要解决这个问题 在 Eclipse 中:
答案 10 :(得分:0)
尝试从项目的 Java 构建路径中删除 JRE 系统库。然后通过单击添加库在模块下再次添加它。