首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >M1苹果硅mac上的Dynamodb本地设置

M1苹果硅mac上的Dynamodb本地设置
EN

Stack Overflow用户
提问于 2021-03-15 09:32:00
回答 5查看 7.3K关注 0票数 14

我使用https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.DownloadingAndRunning.html在本地设置了dynamodb

我可以使用以下命令java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb启动实例,但当我尝试执行其他操作时,它会给出以下错误。

2021年3月15日2:10:28 PM com.almworks.sqlite4java.Internal日志警告: sqlite不能打开DB15: com.almworks.sqlite4java.SQLiteException:-91不能加载库: java.lang.UnsatisfiedLinkError: com.almworks.sqlite4java.Internal 1):找不到合适的映像。发现: /Users/ahsanejaz/Downloads/dynamodb_local_latest/DynamoDBLocal_lib/libsqlite4java-osx.dylib:在通用包装器/Users/ahsanejaz/Downloads/dynamodb_local_latest/DynamoDBLocal_lib/libsqlite4java-osx.dylib:中没有匹配的体系结构,在通用包装器中没有匹配的体系结构。2021 2:10:28 PM com.almworks.sqlite4java.Internal日志严重:SQLiteQueueshared local-instance.db:错误运行作业队列com.almworks.sqlite4java.SQLiteException:-91不能加载库: java.lang.UnsatisfiedLinkError: com.almworks.sqlite4java.Internal 1):找不到合适的映像。确实发现: /Users/ahsanejaz/Downloads/dynamodb_local_latest/DynamoDBLocal_lib/libsqlite4java-osx.dylib:没有通用包装器中的匹配体系结构,/Users/ahsanejaz/Downloads/dynamodb_local_latest/DynamoDBLocal_lib/libsqlite4java-osx.dylib:没有通用包装器中的匹配体系结构,在com.almworks.sqlite4java.SQLite.loadLibrary(SQLite.java:97)、com.almworks.sqlite4java.SQLiteConnection.open0(SQLiteConnection.java:1441)、com.almworks.sqlite4java.SQLiteConnection.open(SQLiteConnection.java:282)和com.almworks.sqlite4java中没有匹配的结构。SQLiteConnection.open(SQLiteConnection.java:293) at com.almworks.sqlite4java.SQLiteQueue.openConnection(SQLiteQueue.java:464) at com.almworks.sqlite4java.SQLiteQueue.queueFunction(SQLiteQueue.java:641) at com.almworks.sqlite4java.SQLiteQueue.runQueue(SQLiteQueue.java:623) at com.almworks.sqlite4java.SQLiteQueue.access$000(SQLiteQueue.java:77) at com.almworks.sqlite4java.SQLiteQueue$1.run(SQLiteQueue.java:205) at java.base/java.lang.Thread.run(未知来源)由:java.lang.UnsatisfiedLinkError引起:/Users/ahsanejaz/Downloads/dynamodb_local_latest/DynamoDBLocal_lib/libsqlite4java-osx.dylib: dlopen(/Users/ahsanejaz/Downloads/dynamodb_local_latest/DynamoDBLocal_lib/libsqlite4java-osx.dylib,(1)没有找到合适的图像。发现: /Users/ahsanejaz/Downloads/dynamodb_local_latest/DynamoDBLocal_lib/libsqlite4java-osx.dylib:在通用包装器中没有匹配的架构,在/Users/ahsanejaz/Downloads/dynamodb_local_latest/DynamoDBLocal_lib/libsqlite4java-osx.dylib:中没有匹配的体系结构,在java.base/java.lang.ClassLoader$NativeLibrary.load0(Native方法中没有匹配的架构,在java.base/java.lang.ClassLoader$NativeLibrary.load(Unknown源代码中没有匹配的体系结构),在java.base/java.lang.ClassLoader中没有匹配的体系结构。(未知源)在java.base/java.lang.ClassLoader.loadLibrary(Unknown来源)在java.base/java.lang.Runtime.load 0(未知源)在java.base/java.lang.System.Load(未知源)在com.almworks.sqlite4java.Internal.tryLoadFromPath(Internal.java:340) at com.almworks.sqlite4java.Internal.loadLibraryX(Internal.java:117) at com.almworks.sqlite4java.SQLite.loadLibrary(SQLite.java:95) .2021 2:10:28 PM com.almworks.sqlite4java.Internal日志警告:SQLiteQueueshared local-instance.db:异常停止,在3000 in内轮回

这与新的M1苹果硅架构有关吗?有什么解决办法吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2021-03-17 18:24:29

我对dynamodb也有同样的问题--通过brew安装本地数据库。显然,正在使用的sqlite4java库中没有arm版本。我明白了:

代码语言:javascript
复制
Caused by: java.lang.UnsatisfiedLinkError: /opt/homebrew/Caskroom/dynamodb-local/latest/DynamoDBLocal_lib/libsqlite4java-osx.dylib: dlopen(/opt/homebrew/Caskroom/dynamodb-local/latest/DynamoDBLocal_lib/libsqlite4java-osx.dylib, 1): no suitable image found.  Did find:
    /opt/homebrew/Caskroom/dynamodb-local/latest/DynamoDBLocal_lib/libsqlite4java-osx.dylib: no matching architecture in universal wrapper

有趣的是,码头形象是很好的工作为我使用的码头预览版,如通过使用码头组合文件从在计算机上本地部署DynamoDB (在码头标签)。

票数 3
EN

Stack Overflow用户

发布于 2021-05-08 02:31:08

我能够运行DynamoDB,安装一个java版本的x86-64体系结构,而不是arm64,并从罗塞塔终端启动它。

代码语言:javascript
复制
java --version 
openjdk 16.0.1 2021-04-20
OpenJDK Runtime Environment Zulu16.30+15-CA (build 16.0.1+9)
OpenJDK 64-Bit Server VM Zulu16.30+15-CA (build 16.0.1+9, mixed mode, sharing)

https://www.azul.com/downloads/zulu-community/?version=java-16-sts&os=macos&architecture=x86-64-bit&package=jre

票数 9
EN

Stack Overflow用户

发布于 2022-02-04 14:14:56

您可以使用新发布的苹果硅(M1)库。将其作为依赖项添加到项目中,或者如果使用基于文件夹的方法将此文件复制到本机库路径中,则应修复此错误:

代码语言:javascript
复制
io.github.ganadist.sqlite4java:libsqlite4java-osx-aarch64:1.0.392

直接下载链接:https://repo1.maven.org/maven2/io/github/ganadist/sqlite4java/libsqlite4java-osx-aarch64/1.0.392/libsqlite4java-osx-aarch64-1.0.392.dylib

可以使用sqlite4java.library.path system属性指定自定义本机库路径:

代码语言:javascript
复制
# JVM parameter:
-Dsqlite4java.library.path=./native-libs
# or within source code:
System.setProperty("sqlite4java.library.path", "./native-libs")
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66635424

复制
相关文章

相似问题

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