Unable to start DynamoDB Local process
En bref — DynamoDB Local (une application Java) n'a pas pu se lancer. Les causes habituelles sont un runtime Java manquant ou trop ancien, le port 8000 déjà pris, ou le plugin serverless-dynamodb qui n'a jamais téléchargé le jar. Corrige Java, libère le port, ou réinstalle.
Ce que ça signifie
Tu le verras depuis le plugin serverless-dynamodb / serverless-dynamodb-local, ou en exécutant le jar directement :
Unable to start DynamoDB Local process!Le processus enfant qui exécute l'émulateur local n'a pas réussi à démarrer ou s'est terminé immédiatement.
Pourquoi ça arrive
- Pas de Java, ou une version incompatible. DynamoDB Local a besoin d'un runtime Java — les versions actuelles (v2.6.0 et plus récentes, y compris v3.x) exigent JRE 17+. Si
java -versionéchoue, c'est ça ; s'il affiche une ancienne version, tu verras souvent UnsupportedClassVersionError dans la sortie sous-jacente. - Port déjà utilisé — autre chose est sur le
8000(une instance précédente qui ne s'est pas arrêtée). - Le jar n'a jamais été installé —
sls dynamodb installn'a pas tourné ou a échoué, donc il n'y a rien à démarrer. - Un problème de chemin/permissions avec le répertoire d'installation.
- Décalage Apple Silicon / architecture avec un ancien jar qui embarque des bibliothèques SQLite natives.
Échecs de téléchargement
Quand npx serverless dynamodb install ou le téléchargement du plugin Maven
échoue (proxy réseau, inspection TLS d'entreprise ou disque plein), la commande de
démarrage ne trouve aucun jar et sort avec le même wrapper générique
Unable to start DynamoDB Local process! — regarde le log du plugin à la
recherche d'ENOENT ou d'erreurs HTTP avant de t'en prendre à Java.
Comment le corriger
- Installe/vérifie Java 17+ :
java -version. S'il manque ou est trop ancien, installe un JDK/JRE actuel (p. ex. Temurin ou Corretto 17+). - Réinstalle DynamoDB Local :
npx serverless dynamodb install - Libère le port (ou change-le) : trouve ce qui est sur le 8000 et arrête-le —
lsof -i :8000 # then kill the PID, or configure a different port - Utilise l'image Docker officielle pour contourner entièrement les problèmes Java/architecture :
docker run -p 8000:8000 amazon/dynamodb-local - Pointe ton client dessus avec une région + un endpoint fictifs (voir Missing region in config).
Connecte-toi depuis DynoTable
Si Java, l'architecture ou un téléchargement de jar raté bloque Local, lance l'image
Docker officielle et connecte DynoTable sans JRE local
(Installe DynoTable). Dans Settings → Profiles → Add Profile,
mets l'endpoint http://localhost:8000, choisis une région factice et utilise des
identifiants factices alphanumériques — puis Test Connection. Ce chemin évite
entièrement l'échec de spawn Unable to start DynamoDB Local process!. Marche à
suivre : Running DynamoDB Local. Si le plugin n'a jamais
téléchargé le jar, relance npx serverless dynamodb install et confirme que le
répertoire d'installation est accessible en écriture — les erreurs de permission
remontent sous la forme du même message de spawn générique, sans trace Java. Une
fois Local démarré, charge tes fixtures avec le
convertisseur JSON DynamoDB.
Erreurs liées
- Could not connect to DynamoDB Local
- DynamoDB Local UnsupportedClassVersionError — la variante Java-trop-ancien de cet échec.
- DynamoDB Local sqlite4java errors — la variante bibliothèque-native/architecture.
- Missing region in config
- Apprends : Running DynamoDB Local
Références
- 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)
Dernière vérification le 2026-07-13 par rapport à la documentation officielle AWS liée ci-dessus.