包 javafx.embed.swing 在 Maven JDK 17 中不可见

chi*_*tiz 0 java swing javafx maven

我是 Maven 新手。我需要包括

private javafx.embed.swing.JFXPanel jFXPanel1;
Run Code Online (Sandbox Code Playgroud)

使用 Maven + Jigsaw 模块的新项目。

我的包有以下问题javafx.embed.swing

问题

我以为添加这个依赖项会起作用,但事实并非如此。

private javafx.embed.swing.JFXPanel jFXPanel1;
Run Code Online (Sandbox Code Playgroud)

在全新安装时,我看到以下内容

(包 javafx.embed.swing 在未命名模块中声明,但模块 com.my.module 不读取它)

在此输入图像描述

我不明白这一点。我看到那个JAR,它只有一个清单文件,没有任何.class文件,这让我更加困惑。

如果我查看 m2 文件夹,我会看到一个不同的 JAR,具有相同的前缀,但带有win后缀,并且在那里我看到了该包。

我认为这就是分类器

<!-- https://mvnrepository.com/artifact/org.openjfx/javafx-swing -->
<dependency>
    <groupId>org.openjfx</groupId>
    <artifactId>javafx-swing</artifactId>
    <version>19</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

我想,但我不知道,这个 jar 是否被 Maven 选择,但似乎没有,因为我在 IntelliK 库中没有看到它。

在此输入图像描述

在此输入图像描述

在此输入图像描述

在此输入图像描述

我对 JavaFX 没有任何问题,一切都是模块化的并且正在运行。我只有这个罐子有问题。

- - - - - - - - - - - - - - -更新 - - - - - - - - - - ----------------

这里的罪魁祸首是 IntellijIdea,我确实单击了“文件”->“使缓存无效”,然后重新启动它。后来我可以看到依赖项已加载。

依赖项已加载。

稍后我可以添加模块 添加模块

已加载依赖项。

我现在可以看到依赖性,仅此而已。谢谢。

mip*_*ipa 5

仅声明 Maven 依赖项是不够的。您还必须让 Java 模块系统满意。您还必须在项目的 module-info.java 文件中声明此附加依赖项。Javas 模块系统对 Maven 依赖一无所知。