de-vraag
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 Peter
Peter
Question

IntelliJ dan Tomcat....mengubah file-file tersebut tidak secara otomatis diakui oleh Tomcat

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.

128 2013-10-25T18:14:07+00:00 4
Pemrograman
tomcat
war
intellij-idea
automatic-updates
Solution / Answer
 Javaru
Javaru
26 Oktober 2013 в 4:35
2013-10-26T16:35:42+00:00
Lebih
Sumber
Sunting
#22623360

Hal ini tidak dapat dilakukan jika anda menyebarkan perang dengan IntelliJ IDEA. Namun, itu bisa jika anda menggunakan aplikasi meledak perang. Dalam IDE:

  1. membuka Tomcat Run/Debug konfigurasi (Run > Edit Configurations)
  2. Pergi ke "Penyebaran" tab
  3. Dalam "Deploy di Server Startup" bagian, menghapus (jika ada) artefak saya-webapp-nama:perang
  4. Klik ikon tambahkan, pilih 'artefak' dan kemudian pilih my-webapp-nama:perang meledak
  5. Klik OK (pada "Pilih Artefak untuk Menyebarkan" dialog)
  6. Masih di Run/Debug Jendela Konfigurasi, pilih "Server" tab
  7. Di tengah tab, mengubah "Pada frame Penonaktifan" menetapkan dengan baik "Memperbarui sumber daya" atau "Update Kelas dan sumber Daya"
  • Mutakhirkan sumber daya: Semua berubah sumber daya (yaitu, semua komponen aplikasi lain dari kelas) akan diperbarui.
  • Mutakhirkan kelas dan sumber daya: Semua berubah sumber daya akan diperbarui; mengubah kelas yang akan dikompilasi ulang. Perhatikan bahwa apakah sebenarnya kelas akan diperbarui tergantung pada kemampuan web server. Jika saya ingat, Tomcat akan reload html/xhtml dan file jsp, tapi tidak Servlets atau kelas yang JSPs atau menggunakan Servlets. Anda perlu dimodifikasi Tomcat untuk menggunakan dinamis classloader untuk itu.
  1. Anda juga dapat mengatur "Pada 'update' " tindakan untuk dipilih di atas juga.
  • Ini ditentukan apa yang terjadi ketika anda menekan tombol Update Update icon ikon (atau Pilih+F10) di jendela Run.
  • "Tampilkan dialog" menentukan apakah IDE yang meminta anda setiap kali anda menekan ikon pembaruan
  1. Klik OK.

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.

Sandro Marques
Sandro Marques
Jawaban edit 7 Februari 2019 в 1:25
278
0
Lord Nighton
Lord Nighton
20 September 2015 в 12:15
2015-09-20T12:15:16+00:00
Lebih
Sumber
Sunting
#22623361

Biarkan saya menggambarkan urutan tindakan menggunakan screenshots:

  1. Membuka Tomcat Run/Debug konfigurasi (Run > Edit Konfigurasi)

  1. Klik ikon tambahkan, pilih 'artefak' dan kemudian pilih pizza_mvc:perang meledak:

  2. Memodifikasi 'Pada action update' dan 'Pada frame diactivation':

  3. Setiap kali anda ingin me-refresh sumber daya anda, tekan <Ctrl> + F10

18
0
Łukasz Woźniak
Łukasz Woźniak
18 Januari 2016 в 8:58
2016-01-18T20:58:26+00:00
Lebih
Sumber
Sunting
#22623362

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.

Alexander Lomia
Alexander Lomia
Jawaban edit 21 Februari 2019 в 6:45
11
0
Radu Toader
Radu Toader
15 Oktober 2016 в 6:18
2016-10-15T18:18:43+00:00
Lebih
Sumber
Sunting
#22623363

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

  1. memodifikasi meledak artefak output direktori src/main/webapp
  2. membuat macro untuk menyimpan dan mengkompilasi / menyusun kotor kelas (cmd+shift+f9)
  3. mengedit registri dan preferensi untuk membangun secara otomatis dan membangun sementara aplikasi berjalan(cmd+shift+a - registry).

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)

Radu Toader
Radu Toader
Jawaban edit 15 Oktober 2016 в 6:36
1
0
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
UbiBot UK
Terdaftar 14 jam yang lalu
2
Галина Утяшова
Terdaftar 1 hari yang lalu
3
Asilbek Qadamboyev
Terdaftar 4 hari yang lalu
4
Akshit Mehta
Terdaftar 1 minggu yang lalu
5
me you
Terdaftar 1 minggu yang lalu
ID
JA
KO
RU
© de-vraag 2022
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi