Unable to start DynamoDB Local process
TL;DR — DynamoDB Local(一個 Java 應用)無法啟動。常見原因是缺少或過舊的 Java 執行時、埠 8000 已被佔用,或者 serverless-dynamodb 外掛從未下載 jar。修復 Java、釋放埠,或重新安裝。
這是什麼意思
你會從 serverless-dynamodb / serverless-dynamodb-local 外掛看到它,或者在直接執行 jar 時看到:
Unable to start DynamoDB Local process!執行本地模擬器的子程序未能生成或立即退出了。
為什麼會發生
- 沒有 Java,或版本不相容。 DynamoDB Local 需要一個 Java 執行時——當前版本(v2.6.0 及更新,包括 v3.x)要求 JRE 17+。如果
java -version失敗,那就是原因;如果它列印出一箇舊版本,你往往會在底層輸出中看到 UnsupportedClassVersionError。 - 埠已被佔用——別的東西在
8000上(一個沒有關閉的先前例項)。 - jar 從未安裝——
sls dynamodb install沒執行或失敗了,因此沒有東西可啟動。 - 安裝目錄的路徑/許可權問題。
- Apple Silicon / 架構不匹配,配上一個捆綁了原生 SQLite 庫的舊 jar。
Download failures
當npx serverless dynamodb install或者Maven外掛下載失敗時(網路代理、企業 TLS 檢查或完整磁碟),啟動命令發現沒有 jar 並以相同的通用 Unable to start DynamoDB Local process! 退出包裝器 — 在追蹤 Java 之前檢查外掛日誌中是否有 ENOENT 或 HTTP 錯誤。
如何修正
- 安裝/核實 Java 17+:
java -version。如果缺失或過舊,安裝一個當前的 JDK/JRE(例如 Temurin 或 Corretto 17+)。 - 重新安裝 DynamoDB Local:
npx serverless dynamodb install - 釋放埠(或更改它):找出 8000 上的東西並停止它——
lsof -i :8000 # then kill the PID, or configure a different port - 使用官方 Docker 映象,完全繞開 Java/架構問題:
docker run -p 8000:8000 amazon/dynamodb-local - 把你的用戶端指向它,配上一個佔位區域 + 端點(參見 設定中缺少區域)。
從 DynoTable 連線
如果 Java/arch 或失敗的 jar 下載阻止本地,請執行官方 Docker 映像並在沒有本地 JRE 的情況下連線 DynoTable (Install DynoTable)。在設定→設定檔案→新增Profile中,設定端點http://localhost:8000,選擇一個預留位置區域,並使用字母數字虛擬憑據 - 然後 Test Connection。該路徑避開了 Unable to start DynamoDB Local process!
完全產卵失敗。演練:Running DynamoDB Local。如果外掛從未下載過 jar,請重新執行 npx serverless dynamodb install
並確認安裝目錄可寫 - 許可權錯誤表現為相同的通用生成訊息,沒有 Java 堆疊跟蹤。 Local啟動後,載入fixture
與DynamoDB JSON converter。
相關錯誤
- Could not connect to DynamoDB Local
- DynamoDB Local UnsupportedClassVersionError——這個失敗的 Java 過舊版本。
- DynamoDB Local sqlite4java errors——原生庫/架構版本。
- 設定中缺少區域
- 學習:Running DynamoDB Local
參考資料
- Deploying DynamoDB locally on your computer — AWS DynamoDB Developer Guide (JRE 17+ requirement for v2.6.0+, launch command, default port 8000)
- DynamoDB local usage notes — AWS DynamoDB Developer Guide (
-portand the other runtime options) - amazon/dynamodb-local — Docker Hub (official image;
docker run -p 8000:8000 amazon/dynamodb-local)
最後核實於 2026-07-13,依據上方連結的 AWS 官方文件。