Tidak dapat memulai proses Lokal DynamoDB
TL;DR — DynamoDB Lokal (aplikasi Java) tidak dapat diluncurkan. Penyebab umum adalah runtime Java yang hilang atau terlalu lama, port 8000 sudah digunakan, atau plugin serverless-dynamodb tidak pernah mengunduh jar. Perbaiki Java, kosongkan port, atau instal ulang.
Apa artinya
Anda akan melihatnya dari plugin serverless-dynamodb / serverless-dynamodb-local, atau saat menjalankan jar secara langsung:
Unable to start DynamoDB Local process!Proses anak yang menjalankan emulator lokal gagal dijalankan atau langsung keluar.
Mengapa itu terjadi
- Tidak ada Java, atau versinya tidak kompatibel. DynamoDB Lokal memerlukan runtime Java — versi saat ini (v2.6.0 dan yang lebih baru, termasuk v3.x) memerlukan JRE 17+. Jika
java -versiongagal, itulah penyebabnya; jika mencetak versi lama, Anda sering melihat UnsupportedClassVersionError pada keluaran yang mendasarinya. - Port sudah digunakan — ada hal lain yang menempati
8000(instance sebelumnya yang tidak dimatikan). - Jar tidak pernah diinstal —
sls dynamodb installtidak dijalankan atau gagal, sehingga tidak ada yang bisa dimulai. - Masalah jalur/izin pada direktori instalasi.
- Ketidakcocokan Apple Silicon / arsitektur dengan jar lama yang menggabungkan pustaka SQLite asli.
Kegagalan unduhan
Ketika npx serverless dynamodb install atau unduhan plugin Maven gagal
(proksi jaringan, inspeksi TLS perusahaan, atau disk penuh), perintah start tidak
menemukan jar dan keluar dengan pembungkus generik Unable to start DynamoDB Local process!
yang sama — periksa log plugin untuk ENOENT atau kesalahan HTTP sebelum mengejar Java.
Bagaimana cara memperbaikinya
- Instal/verifikasi Java 17+:
java -version. Jika tidak ada atau terlalu lama, instal JDK/JRE saat ini (mis. Temurin atau Corretto 17+). - Instal ulang DynamoDB Lokal:
npx serverless dynamodb install - Kosongkan port (atau ubah): cari apa yang ada di 8000 dan hentikan —
lsof -i :8000 # then kill the PID, or configure a different port - Gunakan image Docker resmi untuk menghindari masalah Java/arsitektur sepenuhnya:Docker menyertakan JRE yang kompatibel — tidak perlu instalasi Java lokal.
docker run -p 8000:8000 amazon/dynamodb-local - Arahkan klien Anda ke sana dengan wilayah + titik akhir placeholder (lihat Wilayah hilang dalam konfigurasi).
Hubungkan dari DynoTable
Jika Java/arsitektur atau unduhan jar yang gagal menghalangi Local, jalankan image
Docker resmi dan hubungkan DynoTable tanpa JRE lokal (Instal DynoTable).
Pada Pengaturan → Profil → Tambah Profil, setel titik akhir http://localhost:8000,
pilih wilayah placeholder, dan gunakan kredensial dummy alfanumerik — lalu Uji
Koneksi. Jalur itu sepenuhnya menghindari kegagalan spawn Unable to start DynamoDB Local process!.
Panduan langkah demi langkah: Menjalankan DynamoDB Local.
Jika plugin tidak pernah mengunduh jar, jalankan ulang npx serverless dynamodb install
dan pastikan direktori instalasi dapat ditulis — kesalahan izin muncul sebagai pesan
spawn generik yang sama tanpa jejak tumpukan Java. Setelah Local berjalan, muat fixture
dengan konverter DynamoDB JSON.
Kesalahan terkait
- Tidak dapat terhubung ke DynamoDB Local
- DynamoDB Local UnsupportedClassVersionError — varian Java-terlalu-lama dari kegagalan ini.
- Kesalahan sqlite4java DynamoDB Local — varian pustaka asli/arsitektur.
- Wilayah hilang dalam konfigurasi
- Pelajari: Menjalankan DynamoDB Local
Referensi
- Deploying DynamoDB locally on your computer — AWS DynamoDB Developer Guide (persyaratan JRE 17+ untuk v2.6.0+, perintah peluncuran, port default 8000)
- DynamoDB local usage notes — AWS DynamoDB Developer Guide (
-portdan opsi runtime lainnya) - amazon/dynamodb-local — Docker Hub (image resmi;
docker run -p 8000:8000 amazon/dynamodb-local)
Terakhir diverifikasi 2026-07-13 berdasarkan dokumentasi resmi AWS yang ditautkan di atas.