SBT 导入空的基于 JavaFX 的 jar
Posted
技术标签:
【中文标题】SBT 导入空的基于 JavaFX 的 jar【英文标题】:SBT imports empty JavaFX-base jar 【发布时间】:2018-12-13 04:56:08 【问题描述】:我已切换到 OpenJDK 11,但由于某种原因它不包含 JavaFX,所以我现在必须将其用作依赖项。但是,SBT 会导入一个空 jar。
只是好奇它为什么会发生以及如何解决?
【问题讨论】:
您可能需要包含依赖项的特定于平台的分类器(即,win
用于 Windows,linux
用于 Linux,等等...)。不幸的是,我不知道如何使用 SBT 做到这一点。 Gradle 也有类似的问题,尽管 Maven 会自动处理这个问题。使用这些分类器的原因是某些 JavaFX 模块包含特定于平台的本机代码。
看来你是对的。 Maven 中心包含不同的版本:central.maven.org/maven2/org/openjfx/javafx-base/12-ea+4。太奇怪了……谢谢。
当你意识到他们为什么这样做时,这并不奇怪。请参阅this answer 和this mailing list 了解更多信息。
【参考方案1】:
为了获得正确的 jar,您需要添加 OS 分类器。例如:"org.openjfx" % "javafx-base" % "12-ea+4" classifier "linux"
。或者你也可以按照例子:https://www.reddit.com/r/scala/comments/9fbzbk/build_file_snippet_for_using_javafx_with_java_11/
【讨论】:
以上是关于SBT 导入空的基于 JavaFX 的 jar的主要内容,如果未能解决你的问题,请参考以下文章