You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Ivy从Maven Central获取JavaFX本地依赖?

如何用Ivy从Maven Central获取JavaFX的本地平台依赖

问题现状

当前配置可获取JavaFX的通用jar包,但无法拉取对应Linux平台的本地组件:

  • 预期获取文件:
    • javafx-graphics-21.0.1.jar
    • javafx-graphics-21.0.1-linux.jar
  • 实际获取文件:
    • javafx-graphics-21.0.1.jar
    • 缺失 javafx-graphics-21.0.1-linux.jar

当前ivy.xml配置

<ivy-module version="2.0" xmlns:m="https://ant.apache.org/ivy/maven">
    <info organisation="org.my" module="my-proj"/>
    <dependencies>
        <dependency org="org.openjfx" name="javafx-graphics" rev="21.0.1" />
    </dependencies>
</ivy-module>

执行命令及结果

ivy && ls ~/.ivy2/cache/org.openjfx/javafx-graphics/jars
# javafx-graphics-21.0.1.jar

解决方案

JavaFX的平台相关组件通过Maven分类器(classifier)区分,Ivy默认不会自动拉取带分类器的依赖,需显式指定分类器参数。修改ivy.xml中的依赖配置,添加m:classifier属性指定目标平台:

<ivy-module version="2.0" xmlns:m="https://ant.apache.org/ivy/maven">
    <info organisation="org.my" module="my-proj"/>
    <dependencies>
        <!-- 通用jar包 -->
        <dependency org="org.openjfx" name="javafx-graphics" rev="21.0.1" />
        <!-- Linux平台本地组件 -->
        <dependency org="org.openjfx" name="javafx-graphics" rev="21.0.1" m:classifier="linux" />
    </dependencies>
</ivy-module>

若需适配多平台,可分别添加对应分类器的依赖:

<dependency org="org.openjfx" name="javafx-graphics" rev="21.0.1" m:classifier="win" />
<dependency org="org.openjfx" name="javafx-graphics" rev="21.0.1" m:classifier="mac" />

重新执行命令后,缓存目录中即可看到对应平台的jar文件。

注:Ivy默认使用Maven 2仓库,无需额外配置即可从Maven Central拉取带分类器的依赖。

内容的提问来源于stack exchange,提问作者tresf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 20:37:27