如何修复 fxml 中的“无法为 .jar 文件派生模块描述符”错误

4 java javafx fxml java-module

我想从 JAR 库中获取一个图像到我的项目中。

    <graphic>
        <ImageView>
            <Image url="@/toolbarButtonGraphics/general/TipOfTheDay24.gif"/>
        </ImageView>
    </graphic>
Run Code Online (Sandbox Code Playgroud)

我已将该库添加到我的模块中,它似乎是正确的,但编译器抛出一个错误: 启动层初始化期间发生错误 java.lang.module.FindException:无法为filepath.jar派生模块描述符 导致:java .lang.IllegalArgumentException:jlfgr.1.0:无效的模块名称:“1”不是 Java 标识符。这是我的模块信息文件:

requires javafx.fxml;
requires javafx.controls;

opens sample;
Run Code Online (Sandbox Code Playgroud)

小智 5

看来您没有正确执行步骤。添加新库时,首先将其添加到模块中,然后必须将其添加到 模块信息文件中。

只需在 module-info 中添加一行 ---> requires <package-name>;

例如我的包名是graphics-looks.jar --->requires graphics-looks;

PS 在任何地方添加该 jar 之前,尝试重命名它并通过从其名称中删除数字和其他字符来给出一个简单的名称。

  • 我遇到了上面提到的同样的问题,这个解决方案对我有用。我的 jar 文件中包含数字和特殊字符不允许按原样添加到模块信息文件中。必须重命名 jar 文件并使用。 (2认同)