我正试图使用Maven、gradle、sbt或类似的JavaFx项目在MacOS系统上使用苹果硅芯片构建一个项目,我遇到了一个类似的错误:
UnsatisfiedLinkError: Can't load library: libprism_es2.dylib该怎么办呢?
发布于 2022-08-20 12:48:37
JavaFx确实支持从17-ea+8版本开始的苹果硅(aarch64)架构。。
但是,您需要使用操作系统和体系结构的分类器来限定依赖项。
对于Maven,依赖项应该如下所示:
<!-- ... -->
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>18.0.2</version>
<classifier>mac-aarch64</classifier>
</dependency>
<!-- ... -->在gradle中,JavaFx插件版本0.0.11或更高版本将附加正确的分类器:
plugins {
// ...
id( "org.openjfx.javafxplugin" ) version "0.0.13"
// ...
}在sbt中,可以将以下内容添加到build.sbt文件中:
lazy val myproject = ( project in file( "." ) )
.settings(
// ...
libraryDependencies ++= Seq(
//...
"org.openjfx" % "javafx-controls" % "18.0.2" classifier "mac-aarch64",
//...
)
// ...
)使用这些构建工具中的每一个,您都可以完成复杂的工作,这样您的构建定义就可以动态地解析要应用哪个分类器,而不管您构建的是哪个平台。但这是留给读者的练习。
请注意,尽管System.getProperty( "os.name" )对org.openjfx用于识别分类器中目标平台的文本进行了解析,但System.getProperty( "os.arch" )确实解析了苹果硅计算机上的text aarch64。
https://stackoverflow.com/questions/73426832
复制相似问题