首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >苹果的JavaFx / UnsatisfiedLinkError:无法加载库: libprism_es2.dylib

苹果的JavaFx / UnsatisfiedLinkError:无法加载库: libprism_es2.dylib
EN

Stack Overflow用户
提问于 2022-08-20 12:48:37
回答 1查看 646关注 0票数 2

我正试图使用Maven、gradle、sbt或类似的JavaFx项目在MacOS系统上使用苹果硅芯片构建一个项目,我遇到了一个类似的错误:

代码语言:javascript
复制
UnsatisfiedLinkError: Can't load library: libprism_es2.dylib

该怎么办呢?

EN

回答 1

Stack Overflow用户

发布于 2022-08-20 12:48:37

JavaFx确实支持从17-ea+8版本开始的苹果硅(aarch64)架构。

但是,您需要使用操作系统和体系结构的分类器来限定依赖项。

对于Maven,依赖项应该如下所示:

代码语言:javascript
复制
<!-- ... -->
<dependency>
  <groupId>org.openjfx</groupId>
  <artifactId>javafx-controls</artifactId>
  <version>18.0.2</version>
  <classifier>mac-aarch64</classifier>
</dependency>
<!-- ... -->

在gradle中,JavaFx插件版本0.0.11或更高版本将附加正确的分类器:

代码语言:javascript
复制
plugins {
    // ...
    id( "org.openjfx.javafxplugin" ) version "0.0.13"
    // ...
}

在sbt中,可以将以下内容添加到build.sbt文件中:

代码语言:javascript
复制
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

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73426832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档