Saya menjalankan Intellij Ultimate dengan Tomcat dan menyebarkan perang. Semuanya menyebarkan baik untuk webapp direktori tomcat.
Ketika saya mengubah file seperti file xhtml, apakah ada cara untuk tomcat untuk secara otomatis mengambil perubahan itu? Sekarang saya perlu untuk menyalin file dari intellij dan salin ke direktori di mana ia tinggal di tomcat webapp direktori. Saya tahu ada beberapa file yang perlu mengkompilasi ulang, tapi xhtml's tidak salah satu dari mereka.
Hal ini tidak dapat dilakukan jika anda menyebarkan perang dengan IntelliJ IDEA. Namun, itu bisa jika anda menggunakan aplikasi meledak perang. Dalam IDE:
saya-webapp-nama:perang
my-webapp-nama:perang meledak
Sekarang kapan saja anda membuat perubahan, IDE akan memindahkan file berubah(s) ketika IDE's bingkai dinonaktifkan (yaitu kehilangan fokus). Itu tidak mengambil satu atau dua detik, Anda'll melihatnya di bawah status bar di IDE. Jelas. anda'll masih perlu untuk me-refresh web browser anda sehingga mengambil file baru (kecuali tentu saja jika halaman ini memiliki auto refresh ajax seperti fetch).
Kombinasi yang baik dengan Tomcat adalah untuk mengatur "Pada frame penonaktifan" untuk "Memperbarui sumber Daya" dan "On 'update' tindakan yang baik "Kembali" atau "Restart Server". Yang memungkinkan halaman statis dapat dengan cepat diperbarui melalui bingkai penonaktifan, dan kelas diperbarui melalui 'update' tindakan.
Sebuah perusahaan bernama ZeroTurnaround menjual JRebel yang dinamis classloader solusi. Mereka juga memiliki lima bagian seri pada subjek yang's sangat baik.
Biarkan saya menggambarkan urutan tindakan menggunakan screenshots:
Jika anda ingin memperbarui kelas dan sumber daya, run Tomcat di mode Debug. Dalam mode ini IntelliJ update kelas dan sumber daya tanpa masalah (hot swap).
Punya masalah yang sama. IntelliJ didn't update proyek saya, karena saya jalankan sebagai "modus Run". Ketika saya berjalan di mode debug dan tekan Pilih+F10, update kelas dan sumber daya.
Saya telah menemukan cara yang lebih baik.
Di Gerhana kami telah secara otomatis membangun, menyusun + reload file statis. Sebenarnya file statis yang disajikan langsung dari src/main/webapp.
Di IntelliJ bukannya melayani langsung dari src/main/webapp, ada folder yang dibuat dalam target, di mana anda akan memiliki salinan dari anda src/main/webapp dan juga konteks yang lain terkait .. web-inf/classes /lib.
Jika Anda menempatkan bukan target output meledak artefak untuk src/main/webapp, itu tidak akan menimpa anda sumber file, dan itu akan melayani secara langsung, anda tidak't harus memukul - pembaruan sumber daya / update sumber daya dan kelas
Jadi apa yang perlu anda lakukan adalah IntelliJ
Setelah ini, jika anda memiliki pekerjaan yang mengubah file statis dari luar IntelliJ, anda akan melihat perubahan segera tanpa pergi ke IntelliJ dan Memperbarui sumber Daya, dan untuk kelas yang anda miliki bahwa makro yang menyelamatkan, dan mengkompilasi(Catatan: Anda bisa juga hanya memukul Compile/Recompile : cmd + shift + F9 / cmd + F9 - jika anda memiliki beberapa membuka editor akan melihat bahwa anda kotor * editor akan non kotor, dan perubahan(kelas) akan reloaded)