引导层初始化时发生错误

问题描述 投票:0回答:5

我按照步骤创建了 HelloWorld 示例,但它没有运行。它给出以下错误:

boot层初始化时发生错误 java.lang.module.FindException:读取模块时出错: F:\Develop Clipse\HelloWorld 中 原因: java.lang.module.InvalidModuleDescriptorException:HelloWorld.class 在顶级目录中找到(模块中不允许未命名的包)”

请告知如何解决这个问题。

java eclipse java-module
5个回答
16
投票

出现该错误是因为您将 jar 库文件添加到 MODULEPATH 而不是 CLASSPATH。您必须将 jar 文件添加到 CLASSPATH 中。如果您已经将 jar 文件添加到 MODLEPATH,则必须从那里删除并将 jar 文件添加到 CLASSPATH,步骤如下:

1] 在 ECLIPSE IDE 中右键单击您的项目名称

2] 单击“属性”->“JAVA 构建路径”-> 单击“库”选项卡。您将看到如下窗口:

3]展开MODULEPATH并选择所有jar文件并将其删除:看下图:

4] 之后单击 CLASSPATH -> 然后单击按钮“ADDJAR”并选择 jar 文件,您就完成了。请看下面的图片以进行澄清;

5]在 CLASSPATH 中添加 jar 文件后,它看起来像这样:


4
投票

我之前也遇到过同样的错误,因为我使用的是默认包。

我是这样解决这个问题的: 右键项目-属性-Java构建路径-将类从Modulepath移动到Classpath

而且成功了!


3
投票

只需从项目中删除 module-info.java 即可解决问题。


0
投票

我有类似的问题,我面临的问题是我在 modulepath 下添加了 selenium-server-standalone-3.141.59.jar 而不是它应该在 classpath 下

因此通过(项目 - >属性 - > Java Bbuild路径 - >库)选择类路径 添加下载的最新的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);
            }

        }

    }

参考


0
投票

有两种方法可以解决此问题:

  1. 删除 module-info.java 文件(如果不需要):

如果您不希望您的项目成为模块,您只需从项目中删除 module-info.java 文件即可。这会禁用模块化项目结构并允许包外部的类。

  1. 创建包并移动类(如果使用模块):

如果你想保持模块化的项目结构,你需要创建一个包并将Hello.class文件移入其中。就是这样: 在您的项目目录中,为您的包创建一个新文件夹。例如,您可以创建一个名为

com.example
的文件夹。 将
Hello.class
文件移动到新创建的包文件夹中。 (可选)编辑 Hello.class 文件以在文件开头添加包声明。例如:

package com.example;

public class Hello {
  // ... your class code
}

选择正确的解决方案取决于您是否希望项目模块化。

© www.soinside.com 2019 - 2024. All rights reserved.