主方法不在模块内运行

net*_*h07 5 java javafx java-10 java-module

我是否需要main在模块内或外部运行我的方法?

我是使用Java模块化系统的新手.我正在尝试使用Java 10中的JavaFX创建一个简单的程序,因为它是支持JavaFX的Java的最后一个版本.

我在module-info.javaJavaFX 上导入了必要的依赖项,它只显示了一个简单的窗口.

sample.fxml 码:

<?import javafx.scene.layout.GridPane?>
<GridPane fx:controller="com.gui.Controller"
          xmlns:fx="http://javafx.com/fxml" alignment="center" hgap="10" vgap="10">
</GridPane>
Run Code Online (Sandbox Code Playgroud)

当我构建我的代码时,它说:

Warning:(4, 27) java: module not found: com.main
Run Code Online (Sandbox Code Playgroud)

当我尝试运行我的代码时,我得到:

Exception in Application constructor Exception in thread "main" java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:941)
Run Code Online (Sandbox Code Playgroud)

任何人都可以为此提供建议,或者以某种方式提供有关使用模块化系统创建项目的实际应用建议.

我在下面附上了一对截图.

建立警告:

在此输入图像描述

运行时失败:

在此输入图像描述

Nam*_*man 2

这里可能的怀疑是您com.mainmodule-info.javaIDE 抱怨在项目中找不到的

我猜想,这可能可以使用com.gui声明中的模块名称来解决。

  • @neth07我期待着这一点,您现在可以使用正确的“module-info.java”和“sample.fxml”进一步更新问题吗? (2认同)