Impossibile avviare DynamoDB Processo locale
TL;DR: impossibile avviare DynamoDB Local (un'app Java). Le cause più comuni sono un runtime Java mancante o troppo vecchio, la porta "8000" già occupata o il plug-in serverless-dynamodb che non ha mai scaricato il jar. Correggi Java, libera la porta o reinstallalo.
Cosa significa
Lo vedrai dal plugin serverless-dynamodb / serverless-dynamodb-local o quando esegui direttamente il jar:
Unable to start DynamoDB Local process!Il processo figlio che esegue l'emulatore locale non è stato generato o è terminato immediatamente.
Perché succede
- Nessun Java o una versione incompatibile. DynamoDB Locale necessita di un runtime Java: le versioni attuali (v2.6.0 e successive, inclusa v3.x) richiedono JRE 17+. Se
java -versionfallisce, è tutto; se stampa una versione precedente, vedrai spesso UnsupportedClassVersionError nell'output sottostante. - Porta già in uso: qualcos'altro è su "8000" (un'istanza precedente che non si è arrestata).
- Il jar non è mai stato installato —
sls dynamodb installnon è stato eseguito o non è riuscito, quindi non c'è nulla da avviare. - Un problema di percorso/permessi con la directory di installazione.
- Mancata corrispondenza Apple Silicon/arch con un vecchio jar che raggruppa librerie SQLite native.
Errori di download
Quando l'installazione di npx serverless dynamodb o il download del plug-in Maven non riescono
(proxy di rete, ispezione TLS aziendale o disco pieno), trova il comando start
nessun jar ed esce con lo stesso generico Impossibile avviare DynamoDB Processo locale!
wrapper: controlla il registro del plugin per errori ENOENT o HTTP prima di inseguire Java.
Come risolverlo
- Installa/verifica Java 17+:
java -version. Se mancante o troppo vecchio, installare un JDK/JRE attuale (ad esempio Temurin o Corretto 17+). - Reinstalla DynamoDB Locale:
npx serverless dynamodb install - Libera la porta (o modificala): trova cosa c'è su 8000 e fermalo —
lsof -i :8000 # then kill the PID, or configure a different port - Utilizza l'immagine Docker ufficiale per evitare completamente i problemi Java/arch:
docker run -p 8000:8000 amazon/dynamodb-local - Punta il tuo client su di esso con una regione segnaposto + endpoint (vedi Regione mancante nella configurazione).
Connettiti da DynoTable
Se Java/arch o un download di jar non riuscito bloccano Locale, esegui l'immagine Docker ufficiale
e connetti DynoTable senza un JRE locale (Installa DynoTable).
In Impostazioni → Profili → Aggiungi profilo, imposta l'endpoint http://localhost:8000,
scegli una regione segnaposto e utilizza credenziali fittizie alfanumeriche, quindi Test
Connessione. Questo percorso evita il messaggio "Impossibile avviare DynamoDB Processo locale!"
generare completamente il fallimento. Procedura dettagliata: Esecuzione DynamoDB Local.
Se il plugin non ha mai scaricato il jar, esegui nuovamente npx serverless dynamodb install
e conferma che la directory di installazione è scrivibile: gli errori di autorizzazione vengono visualizzati come file
stesso messaggio di spawn generico senza traccia dello stack Java. Dopo che Local è attivo, caricare i dispositivi
con il convertitore DynamoDB JSON.
Errori correlati
- Impossibile connettersi a DynamoDB Locale
- DynamoDB Local UnsupportedClassVersionError — il sapore troppo vecchio di Java di questo errore.
- DynamoDB Errori sqlite4java locali — il sapore native-library/arch.
- Regione mancante nella configurazione
- Impara: In esecuzione DynamoDB Locale
Riferimenti
- Distribuzione DynamoDB localmente sul computer — AWS DynamoDB Guida per gli sviluppatori (requisito JRE 17+ per v2.6.0+, comando di avvio, porta predefinita 8000)
- DynamoDB note sull'utilizzo locale — AWS DynamoDB Guida per gli sviluppatori (
-porte le altre opzioni di runtime) - amazon/dynamodb-local — Docker Hub (immagine ufficiale;
docker run -p 8000:8000 amazon/dynamodb-local)
Ultima verifica il 13-07-2026 rispetto alla documentazione ufficiale del AWS collegata sopra.