当前位置: 首页 > news >正文

Mac (m1) Java 加载本地C共享库函数 .dylib 函数 Unable to load library ‘liblicense‘

错误信息

Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'liblicense':dlopen(libliblicense.dylib, 0x0009): tried: 'libliblicense.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibliblicense.dylib' (no such file), '/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/bin/./libliblicense.dylib' (no such file), '/usr/lib/libliblicense.dylib' (no such file, not in dyld cache), 'libliblicense.dylib' (no such file), '/usr/lib/libliblicense.dylib' (no such file, not in dyld cache)dlopen(libliblicense.dylib, 0x0009): tried: 'libliblicense.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibliblicense.dylib' (no such file), '/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/bin/./libliblicense.dylib' (no such file), '/usr/lib/libliblicense.dylib' (no such file, not in dyld cache), 'libliblicense.dylib' (no such file), '/usr/lib/libliblicense.dylib' (no such file, not in dyld cache)dlopen(/Users/mi/Library/Frameworks/liblicense.framework/liblicense, 0x0009): tried: '/Users/mi/Library/Frameworks/liblicense.framework/liblicense' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/mi/Library/Frameworks/liblicense.framework/liblicense' (no such file), '/Users/mi/Library/Frameworks/liblicense.framework/liblicense' (no such file), '/System/Library/Frameworks/liblicense.framework/liblicense' (no such file, not in dyld cache)dlopen(/Library/Frameworks/liblicense.framework/liblicense, 0x0009): tried: '/Library/Frameworks/liblicense.framework/liblicense' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Library/Frameworks/liblicense.framework/liblicense' (no such file), '/Library/Frameworks/liblicense.framework/liblicense' (no such file), '/System/Library/Frameworks/liblicense.framework/liblicense' (no such file, not in dyld cache)dlopen(/System/Library/Frameworks/liblicense.framework/liblicense, 0x0009): tried: '/System/Library/Frameworks/liblicense.framework/liblicense' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/System/Library/Frameworks/liblicense.framework/liblicense' (no such file), '/System/Library/Frameworks/liblicense.framework/liblicense' (no such file, not in dyld cache)Native library (darwin-aarch64/libliblicense.dylib) not found in resource path ([file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/charsets.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/crs-agent.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/cldrdata.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/dnsns.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/jaccess.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/jfxrt.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/legacy8ujsse.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/localedata.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/nashorn.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/openjsse.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/sunec.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/zipfs.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/jce.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/jfr.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/jsse.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/management-agent.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/resources.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/rt.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/lib/dt.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/lib/jconsole.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/lib/tools.jar, file:/Users/mx/IdeaProjects/src/test-parent/testSecurity/target/test-classes/, file:/Users/mx/IdeaProjects/src/test-parent/testSecurity/target/classes/, file:/Users/mi/development/maven/repository/org/bouncycastle/bcprov-jdk15to18/1.69/bcprov-jdk15to18-1.69.jar, file:/Users/mi/development/maven/repository/org/apache/commons/commons-lang3/3.4/commons-lang3-3.4.jar, file:/Users/mi/development/maven/repository/com/alibaba/fastjson/1.2.83/fastjson-1.2.83.jar, file:/Users/mi/development/maven/repository/net/java/dev/jna/jna/5.13.0/jna-5.13.0.jar, file:/Users/mi/development/maven/repository/net/java/dev/jna/jna-platform/5.13.0/jna-platform-5.13.0.jar, file:/Users/mi/development/maven/repository/cn/hutool/hutool-all/5.8.16/hutool-all-5.8.16.jar, file:/Users/mi/development/maven/repository/commons-codec/commons-codec/1.11/commons-codec-1.11.jar, file:/Users/mi/development/maven/repository/com/googlecode/aviator/aviator/5.1.4/aviator-5.1.4.jar, file:/Users/mi/development/maven/repository/commons-beanutils/commons-beanutils/1.8.0/commons-beanutils-1.8.0.jar, file:/Users/mi/development/maven/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar, file:/Users/mi/development/maven/repository/org/projectlombok/lombok/1.18.24/lombok-1.18.24.jar, file:/Users/mi/development/maven/repository/org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.jar, file:/Users/mi/development/maven/repository/org/hibernate/validator/hibernate-validator/6.2.2.Final/hibernate-validator-6.2.2.Final.jar, file:/Users/mi/development/maven/repository/jakarta/validation/jakarta.validation-api/2.0.2/jakarta.validation-api-2.0.2.jar, file:/Users/mi/development/maven/repository/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar, file:/Users/mi/development/maven/repository/com/fasterxml/classmate/1.4.0/classmate-1.4.0.jar, file:/Users/mi/development/maven/repository/org/apache/logging/log4j/log4j-api/2.17.1/log4j-api-2.17.1.jar, file:/Users/mi/development/maven/repository/org/slf4j/log4j-over-slf4j/1.7.25/log4j-over-slf4j-1.7.25.jar, file:/Users/mi/development/maven/repository/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25.jar, file:/Users/mi/development/maven/repository/org/apache/logging/log4j/log4j-to-slf4j/2.17.1/log4j-to-slf4j-2.17.1.jar, file:/Users/mi/development/maven/repository/org/junit/jupiter/junit-jupiter-engine/5.9.0/junit-jupiter-engine-5.9.0.jar, file:/Users/mi/development/maven/repository/org/junit/platform/junit-platform-engine/1.9.0/junit-platform-engine-1.9.0.jar, file:/Users/mi/development/maven/repository/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar, file:/Users/mi/development/maven/repository/org/junit/platform/junit-platform-commons/1.9.0/junit-platform-commons-1.9.0.jar, file:/Users/mi/development/maven/repository/org/junit/jupiter/junit-jupiter-api/5.9.0/junit-jupiter-api-5.9.0.jar, file:/Users/mi/development/maven/repository/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar, file:/Users/mi/development/maven/repository/org/junit/jupiter/junit-jupiter-params/5.9.0/junit-jupiter-params-5.9.0.jar, file:/Users/mi/Applications/IntelliJ%20IDEA%20Ultimate.app/Contents/lib/idea_rt.jar])at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:323)at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:483)at com.sun.jna.Library$Handler.<init>(Library.java:197)at com.sun.jna.Native.load(Native.java:622)at com.sun.jna.Native.load(Native.java:596)at com.test.license.LicenseLibrary.<clinit>(LicenseLibrary.java:45)at com.test.license.LicenseValidator.getMachineID(LicenseValidator.java:11)at com.test.dcpdatasecurity.service.test.EncryptionAlgorithmsServiceTest.main(EncryptionAlgorithmsServiceTest.java:33)Suppressed: java.lang.UnsatisfiedLinkError: dlopen(libliblicense.dylib, 0x0009): tried: 'libliblicense.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibliblicense.dylib' (no such file), '/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/bin/./libliblicense.dylib' (no such file), '/usr/lib/libliblicense.dylib' (no such file, not in dyld cache), 'libliblicense.dylib' (no such file), '/usr/lib/libliblicense.dylib' (no such file, not in dyld cache)at com.sun.jna.Native.open(Native Method)at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:211)... 7 moreSuppressed: java.lang.UnsatisfiedLinkError: dlopen(libliblicense.dylib, 0x0009): tried: 'libliblicense.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibliblicense.dylib' (no such file), '/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/bin/./libliblicense.dylib' (no such file), '/usr/lib/libliblicense.dylib' (no such file, not in dyld cache), 'libliblicense.dylib' (no such file), '/usr/lib/libliblicense.dylib' (no such file, not in dyld cache)at com.sun.jna.Native.open(Native Method)at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:224)... 7 moreSuppressed: java.lang.UnsatisfiedLinkError: dlopen(/Users/mi/Library/Frameworks/liblicense.framework/liblicense, 0x0009): tried: '/Users/mi/Library/Frameworks/liblicense.framework/liblicense' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/mi/Library/Frameworks/liblicense.framework/liblicense' (no such file), '/Users/mi/Library/Frameworks/liblicense.framework/liblicense' (no such file), '/System/Library/Frameworks/liblicense.framework/liblicense' (no such file, not in dyld cache)at com.sun.jna.Native.open(Native Method)at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:268)... 7 moreSuppressed: java.lang.UnsatisfiedLinkError: dlopen(/Library/Frameworks/liblicense.framework/liblicense, 0x0009): tried: '/Library/Frameworks/liblicense.framework/liblicense' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Library/Frameworks/liblicense.framework/liblicense' (no such file), '/Library/Frameworks/liblicense.framework/liblicense' (no such file), '/System/Library/Frameworks/liblicense.framework/liblicense' (no such file, not in dyld cache)at com.sun.jna.Native.open(Native Method)at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:268)... 7 moreSuppressed: java.lang.UnsatisfiedLinkError: dlopen(/System/Library/Frameworks/liblicense.framework/liblicense, 0x0009): tried: '/System/Library/Frameworks/liblicense.framework/liblicense' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/System/Library/Frameworks/liblicense.framework/liblicense' (no such file), '/System/Library/Frameworks/liblicense.framework/liblicense' (no such file, not in dyld cache)at com.sun.jna.Native.open(Native Method)at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:268)... 7 moreSuppressed: java.io.IOException: Native library (darwin-aarch64/libliblicense.dylib) not found in resource path ([file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/charsets.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/crs-agent.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/cldrdata.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/dnsns.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/jaccess.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/jfxrt.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/legacy8ujsse.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/localedata.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/nashorn.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/openjsse.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/sunec.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext/zipfs.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/jce.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/jfr.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/jsse.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/management-agent.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/resources.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/rt.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/lib/dt.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/lib/jconsole.jar, file:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/lib/tools.jar, file:/Users/mx/IdeaProjects/src/test-parent/testSecurity/target/test-classes/, file:/Users/mx/IdeaProjects/src/test-parent/testSecurity/target/classes/, file:/Users/mi/development/maven/repository/org/bouncycastle/bcprov-jdk15to18/1.69/bcprov-jdk15to18-1.69.jar, file:/Users/mi/development/maven/repository/org/apache/commons/commons-lang3/3.4/commons-lang3-3.4.jar, file:/Users/mi/development/maven/repository/com/alibaba/fastjson/1.2.83/fastjson-1.2.83.jar, file:/Users/mi/development/maven/repository/net/java/dev/jna/jna/5.13.0/jna-5.13.0.jar, file:/Users/mi/development/maven/repository/net/java/dev/jna/jna-platform/5.13.0/jna-platform-5.13.0.jar, file:/Users/mi/development/maven/repository/cn/hutool/hutool-all/5.8.16/hutool-all-5.8.16.jar, file:/Users/mi/development/maven/repository/commons-codec/commons-codec/1.11/commons-codec-1.11.jar, file:/Users/mi/development/maven/repository/com/googlecode/aviator/aviator/5.1.4/aviator-5.1.4.jar, file:/Users/mi/development/maven/repository/commons-beanutils/commons-beanutils/1.8.0/commons-beanutils-1.8.0.jar, file:/Users/mi/development/maven/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar, file:/Users/mi/development/maven/repository/org/projectlombok/lombok/1.18.24/lombok-1.18.24.jar, file:/Users/mi/development/maven/repository/org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.jar, file:/Users/mi/development/maven/repository/org/hibernate/validator/hibernate-validator/6.2.2.Final/hibernate-validator-6.2.2.Final.jar, file:/Users/mi/development/maven/repository/jakarta/validation/jakarta.validation-api/2.0.2/jakarta.validation-api-2.0.2.jar, file:/Users/mi/development/maven/repository/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar, file:/Users/mi/development/maven/repository/com/fasterxml/classmate/1.4.0/classmate-1.4.0.jar, file:/Users/mi/development/maven/repository/org/apache/logging/log4j/log4j-api/2.17.1/log4j-api-2.17.1.jar, file:/Users/mi/development/maven/repository/org/slf4j/log4j-over-slf4j/1.7.25/log4j-over-slf4j-1.7.25.jar, file:/Users/mi/development/maven/repository/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25.jar, file:/Users/mi/development/maven/repository/org/apache/logging/log4j/log4j-to-slf4j/2.17.1/log4j-to-slf4j-2.17.1.jar, file:/Users/mi/development/maven/repository/org/junit/jupiter/junit-jupiter-engine/5.9.0/junit-jupiter-engine-5.9.0.jar, file:/Users/mi/development/maven/repository/org/junit/platform/junit-platform-engine/1.9.0/junit-platform-engine-1.9.0.jar, file:/Users/mi/development/maven/repository/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar, file:/Users/mi/development/maven/repository/org/junit/platform/junit-platform-commons/1.9.0/junit-platform-commons-1.9.0.jar, file:/Users/mi/development/maven/repository/org/junit/jupiter/junit-jupiter-api/5.9.0/junit-jupiter-api-5.9.0.jar, file:/Users/mi/development/maven/repository/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar, file:/Users/mi/development/maven/repository/org/junit/jupiter/junit-jupiter-params/5.9.0/junit-jupiter-params-5.9.0.jar, file:/Users/mi/Applications/IntelliJ%20IDEA%20Ultimate.app/Contents/lib/idea_rt.jar])at com.sun.jna.Native.extractFromResourcePath(Native.java:1145)at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:295)... 7 more

原因

这个错误表明你的 Java 程序在运行时无法找到所需的本地库 liblicense.dylib

  1. 本地库未正确加载 - JNA 试图从 classpath 中寻找名为 darwin-aarch64/libliblicense.dylib 的原生库文件,但没有找到。

Native library (darwin-aarch64/libliblicense.dylib) not found in resource path

  1. 找不到对应文件

JNA 在加载本地库时,会自动加上(或去掉)系统平台默认的库前缀和后缀,我原本写的是 liblicense.dylib, 但是自动加上了 lib 前缀

解决方案

文件放对应目录

将 liblicense.dylib 库放到 resources 下的 darwin-aarch64 目录下

在这里插入图片描述

加载文件名需要去掉 lib 前缀

前缀lib 由操作系统自动加上

在这里插入图片描述

其它

✅ 🔥 代码举例

最常用的写法(推荐跨平台):

LicenseLib lib = Native.load("license", LicenseLib.class);

✅ 自动找:

  • liblicense.dylib (macOS)

  • liblicense.so (Linux)

  • license.dll (Windows)

http://www.lryc.cn/news/587914.html

相关文章:

  • 【爬虫】Python实现爬取京东商品信息(超详细)
  • 来时路,零帧起手到Oracle大师
  • FilterRegistationBean报错does not have type parameters。idea启动日志无明显报错提示冲突 kaki的博客
  • IDEA实现纯java项目并打包jar(不使用Maven,Spring)
  • Linux的相关学习
  • Oracle物化视图函数使用注意事项
  • Oracle 递归函数及 其他数据库 CTE 使用小计
  • SpringBoot集成SAP,本地IDEA启动和Windows服务器部署
  • 企业培训笔记:axios 发送 ajax 请求
  • iOS高级开发工程师面试——RunLoop
  • [Nagios Core] struct监控对象 | 配置.cfg加载为内存模型
  • CSS `:root` 伪类深入讲解
  • Reactor 模式详解
  • spring shell 基础使用
  • Transformer江湖录 第五章:江湖争锋 - BERT vs GPT
  • 20250714让荣品RD-RK3588开发板在Android13下长按关机
  • Bash常见条件语句和循环语句
  • vLLM与SGLang在自然语言处理领域的技术架构与性能对比研究
  • 从数据库到播放器:Java视频续播功能完整实现解析
  • cuda优化之softmax
  • 调用 System.runFinalizersOnExit() 的风险与解决方法
  • JavaScript 与 C语言基础知识差别
  • Spark 单机模式安装与测试全攻略​
  • 【HTML】五子棋(精美版)
  • 数据采集卡选型——PCIE和USB型采集卡对比
  • C++类模版与友元
  • java--ThreadLocal创建以及get源码解析
  • [Pytorch]深度学习-part1
  • QT跨平台应用程序开发框架(7)—— 常用输入类控件
  • 消费 Kafka 一个TOPIC数据,插入到另一个KAFKA的TOPIC