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,我确实单击了“文件”->“使缓存无效”,然后重新启动它。后来我可以看到依赖项已加载。
我现在可以看到依赖性,仅此而已。谢谢。
仅声明 Maven 依赖项是不够的。您还必须让 Java 模块系统满意。您还必须在项目的 module-info.java 文件中声明此附加依赖项。Javas 模块系统对 Maven 依赖一无所知。