Gradle Version Catalog配置JavaFX依赖出现404如何解决?
问题根因
你将Maven依赖的**分类器(classifier,即你配置中的win标识)**和版本号合并写入了versions配置块,Gradle解析版本号时会自动将冒号转换为连字符,最终生成的依赖版本变为11.0.2-win,和Maven中央仓库中实际的版本路径不匹配,因此触发404报错。
正确配置方案
Gradle Version Catalog的依赖声明原生支持单独指定classifier参数,你只需要拆分版本号和分类器配置即可,修改后的libs.versions.toml内容如下:
[versions] javafx = "11.0.2" [libraries] javafx-base-win = { module = "org.openjfx:javafx-base", version.ref = "javafx", classifier = "win" } javafx-controls-win = { module = "org.openjfx:javafx-controls", version.ref = "javafx", classifier = "win" } javafx-fxml-win = { module = "org.openjfx:javafx-fxml", version.ref = "javafx", classifier = "win" } javafx-graphics-win = { module = "org.openjfx:javafx-graphics", version.ref = "javafx", classifier = "win" } javafx-media-win = { module = "org.openjfx:javafx-media", version.ref = "javafx", classifier = "win" } javafx-web-win = { module = "org.openjfx:javafx-web", version.ref = "javafx", classifier = "win" } [bundles] javafx-win = ["javafx-base-win", "javafx-controls-win", "javafx-fxml-win", "javafx-graphics-win", "javafx-media-win", "javafx-web-win"]
验证配置
你原本build.gradle中的依赖引用方式无需修改,同步Gradle配置即可正常拉取依赖:
dependencies { implementation(libs.bundles.javafx.win) }
如果后续需要适配其他平台,只需修改classifier参数值即可,版本号统一在[versions]块维护,无需修改每个依赖的声明。
内容的提问来源于stack exchange,提问作者Nyanyan
相关产品推荐
相关产品推荐

