Saya berhasil membuat ini berfungsi di lingkungan pengembangan saya menggunakan agen JVM Spring Loaded . Sementara saya mengembangkan aplikasi web Spring, deskripsi proyek itu menyebutkan bahwa itu benar
dapat digunakan di bytecode apa pun yang mungkin berjalan di JVM
Dengan menggunakan pengaturan berikut, saya bisa mendapatkan perubahan untuk dipublikasikan secara otomatis ke instans Tomcat yang terpasang (metode WTP Eclipse biasa). Saya menggunakan Spring Tool Suite 3.7.3 berdasarkan Eclipse Mars.2 (4.5.2).
- Unduh JAR rilis terbaru Spring Loaded dari proyek Github mereka . Ini telah diuji dengan springloaded-1.2.5.RELEASE.jar.
- Siapkan Server Tomcat di Eclipse seperti biasa (diuji dengan Tomcat 8.0.30)
- Buka halaman konfigurasi Server Tomcat di Eclipse (klik dua kali pada instance server dalam tab "Server").
- Di bagian "Server Options", hapus centang "Modules auto reload by default".
- Catatan: Jika Anda sudah menambahkan modul web ke server, Anda mungkin perlu menonaktifkan "Muat Ulang Otomatis" pada modul tersebut satu per satu melalui tab "Modul" (di bagian bawah jendela halaman konfigurasi).
- Di bagian "Informasi Umum", klik "Buka konfigurasi peluncuran"
- Di tab "Argumen", tambahkan baris berikut di akhir "argumen VM":
-javaagent:/path/to/downloaded/springloaded-1.2.5.RELEASE.jar -noverify
- Agar JAR dapat ditonton selain
.class
file proyek , konfigurasikan -Dspringloaded=watchJars=
argumen VM sesuai dengan komentar masalah ini .
Mulai server dan publikasikan proyek Aplikasi Web Dinamis seperti biasa. Sekali lagi, saya dapat menguji ini dengan aplikasi web Spring. Misalnya, memodifikasi kode, menambahkan / mengurangi metode, dll. Di kelas @Controller diterapkan hampir seketika setelah saya menyimpan file dan Eclipse membangun dan menerbitkan kelas yang diubah. Terakhir, bagian FAQ dari proyek Spring Loaded menyebutkan beberapa kasus di mana hal-hal tidak dapat dimuat ulang, jadi itu akan memerlukan restart server / aplikasi. Tetapi pengecualian itu jauh lebih jarang.
Satu catatan lagi: Ini TIDAK berfungsi dengan Pivotal tc Server atau VMware vFabric tc Server yang disertakan dengan STS. Untuk server tersebut, ada opsi "Aktifkan pemuatan ulang berbasis Agen Java (eksperimental)", tetapi opsi tersebut menggunakan rilis Spring Loaded 1.2.0 yang lebih lama, yang tidak berfungsi untuk saya.