优质博文:IT-BLOG-CN
问题
通过 Mac M1芯片的电脑启动项目时出现了zstd-jni
包的问题,同事的M2芯片启动项目是正常的,所以初步判断是M1芯片和zstd-jni
包之间不兼容的问题。
java
java.lang.UnsatisfiedLinkError: no zstd-jni in java.library.path: /Users/me/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
Unsupported OS/arch, cannot find /darwin/aarch64/libzstd-jni.dylib or load zstd-jni from system libraries. Please try building from source the jar or providing libzstd-jni in your system.
问题排查
通过项目发现,目前依赖的zstd-jni
的版本是1.4.4-3
版本
xml
<dependency>
<groupId>com.github.luben</groupId>
<artifactId>zstd-jni</artifactId>
<version>1.4.4-3</version>
</dependency>
这是官方的存储库,二进制版本中我看到了对aarch64
的支持是1.5.2-1
。
解决办法:将zstd-jni
的版本更换为1.5.2-1
发现项目启动正常,问题解决。
xml
<dependency>
<groupId>com.github.luben</groupId>
<artifactId>zstd-jni</artifactId>
<version>1.5.2-1</version>
</dependency>