IntelliJ dan Tomcat .. Howto ..?

113

Menggunakan Netbeans, saya mengembangkan situs dengan Tomcat sebagai server lokal untuk mengelolanya. Di Netbeans itu adalah "Instal, tulis tekan Jalankan dan berfungsi" Bagaimana cara saya melakukan hal yang sama di IntelliJ?

Saya tidak dapat menemukan petunjuk langkah demi langkah untuk ini.

Mantar
sumber
Versi IntelliJ mana yang Anda gunakan?
Romain Linsolas
Saya menggunakan IntelliJ 9.0.3
Mantar
Lihat IntelliJ Ultimate edition "Help": Run / Debug Configuration: Tomcat Server
Basil Bourque
FYI, Anda dapat menjalankan Jetty dari dalam IntelliJ, lalu menyebarkan ke Tomcat. Untuk contoh yang telah dikonfigurasikan sebelumnya, coba aplikasi web starter Vaadin, dengan memilih ragam "Plain Java Servlet". Sebagai proyek yang digerakkan oleh Maven, Anda cukup mengekstrak file yang diunduh, lalu meminta IntelliJ membuka folder sebagai proyek. Di Mavenpanel IntelliJ , luaskan Pluginsitem untuk menampilkan Jettyitem, di mana Anda akan menemukan jetty:runitem tersebut. Anda mungkin dapat mempelajari file POM untuk mempelajari cara mengkonfigurasi mesin Jetty seperti itu dalam proyek Anda sendiri.
Basil Bourque

Jawaban:

105

CATATAN: Edisi Komunitas tidak mendukung JEE.

Pertama, Anda perlu menginstal server Tomcat lokal. Sepertinya Anda sudah melakukan ini.

Selanjutnya, pada toolbar di bagian atas IntelliJ, klik panah bawah tepat di sebelah kiri Run ikon dan Debug . Akan ada opsi untuk Mengedit Konfigurasi . Di munculan yang muncul, klik ikon Tambah , lalu klik Tomcat dan Lokal .

Dari dialog itu, Anda perlu mengklik tombol Configure ... di sebelah Application Server untuk memberi tahu IntelliJ di mana Tomcat diinstal.

Steven Benitez
sumber
1
Hai Steven. Saya mengikuti petunjuk ini tetapi saya tidak tahu cara mengonfigurasi faset dan artefak dengan benar. Saya tidak menemukan cara untuk menghasilkan perang yang tidak akan menghasilkan kesalahan 404 karena index.gsp tidak ditangani oleh grails. Bisakah Anda menambahkan beberapa petunjuk tentang faset dan artefak atau memberi saran di bawah stackoverflow.com/questions/20053061/… - terima kasih.
HAL 9000
2
tidak dapat melihat Server aplikasi di bawah Bulid, Eksekusi dan Penyebaran.
Pankaj Nimgade
1
sial. ive menghabiskan 2,5 hari menonton tutorial youtube mencoba untuk mencari tahu bagaimana di neraka untuk membuat intellij mengenali saya memiliki javaEE sehingga saya bisa membuat servlet sialan. ugh. jawaban yang bagus.
Ungeheuer
1
Ketika saya mengarahkan konfigurasi ke direktori 'base' Tomcat di luar folder Tomcat, saya mendapatkan kesalahan yang mengeluh tidak ada conffolder. Saya membuatnya, kemudian saya mendapatkan kesalahan tidak ada server.xmlfile. Dengan NetBeans, semua hal untuk basedirektori itu secara otomatis dibuat di folder kosong yang saya buat.
Basil Bourque
1
Catatan: Di bawah konfigurasi build, di tab Deployment, ada informasi di bagian bawah bernama Application Context. Ini adalah direktori yang digunakan kucing jantan lokal, jadi jika dikatakan asdf, servlet Anda berada localhost:8080/asdf- ini dapat berbeda dari produksi, yang membuat saya bingung
lucidbrot
45

Berikut adalah petunjuk langkah demi langkah untuk konfigurasi Tomcat di IntellijIdea:

1) Buat proyek IntellijIdea melalui template WebApplication. Ide harus dalam versi Ultimate, bukan edisi Komunitas

masukkan deskripsi gambar di sini

2) Buka konfigurasi Run-Edit dan atur folder lokasi Tomcat, sehingga Idea akan tahu tentang server kucing jantan Anda masukkan deskripsi gambar di sini

3) Buka tab Deployment dan pilih Artifact. Menerapkan masukkan deskripsi gambar di sini

4) Di folder src letakkan servlet Anda (Anda dapat mencoba contoh saya untuk tujuan pengujian) masukkan deskripsi gambar di sini

5) Buka file web.xml dan tautkan servlet Anda seperti ini

masukkan deskripsi gambar di sini

6) Di folder web letakkan file .jsp Anda (misalnya hey.jsp)

masukkan deskripsi gambar di sini

7) Sekarang Anda dapat memulai aplikasi Anda melalui IntellijIdea. Jalankan (Shift + F10) dan nikmati aplikasi Anda di browser:

- ke file jsp: http: // localhost: 8080 / hey.jsp (atau index.jsp secara default)

- ke servlet melalui tautan virtual yang Anda atur di web.xml: http: // localhost: 8080 / st

Aconic
sumber
Di langkah 3 Anda, saya tidak memiliki item "Artefak", hanya item "Sumber Eksternal". Tahukah kamu apa yang salah?
Nicolas S.Xu
Sayangnya, tidak
Aconic
@ NicolasS.Xu Saya memiliki masalah yang sama ketika saya baru saja membuat proyek biasa. Jika Anda membuat proyek menggunakan template WebApplication (seperti pada langkah 1), itu akan muncul.
pengguna1339253
Hal ini dapat dilakukan dengan Edisi Komunitas, tautan: shortn0tes.com/2017/01/tutorial-intellij-idea-community.html dan benkiew.wordpress.com/2017/06/04/… , tetapi untuk harganya, jika Anda serius dalam mengembangkan aplikasi web, Ultimate memberi Anda lebih banyak nilai termasuk untuk Jersey / ReST, JSP, JSF, dll. Mengapa menggunakan gergaji tangan untuk merobek lembaran ketika dengan sedikit uang, Anda bisa mendapatkan gergaji yang bagus?
Russ Bateman
39

Versi IntelliJ mana yang Anda gunakan? Perhatikan bahwa sejak tahun lalu, IntelliJ ada dalam dua versi:

  • Edisi Ultimate , yang merupakan IDE lengkap
  • Edisi Komunitas , yang gratis tetapi tidak mendukung pengembangan JavaEE.

(lihat perbedaannya di sini )

Jika Anda menggunakan Edisi Komunitas , Anda tidak akan dapat mengelola instalasi Tomcat.

Jika Anda menggunakan Edisi Ultimate , Anda dapat melihat:

Romain Linsolas
sumber
Saya melihatnya (Menggunakan ultimate btw) dan dikatakan pergi ke Project Structure -> Modules -> Add new Facet. Yang memberi saya satu pilihan, Flex ...: /
Mantar
Itu bisa terkait dengan proyek yang menjadi "Modul Tidak Dikenal" apa pun artinya. Saya seharusnya. Namun demikian, jika saya membuat proyek baru, saya akan menemukan lebih banyak opsi di sana tetapi tidak dengan TOmcat ..
Mantar
@Meke Apakah Anda pernah melihat di sini: jetbrains.com/idea/features/application_server.html ?
Romain Linsolas
Saya melihatnya ya, tetapi itu tidak memberi tahu saya apa pun tentang bagaimana sebenarnya melakukannya yang merupakan kebingungan di sini. Apakah saya harus mengunduh tomcat sendiri, yang tidak saya lakukan dengan Netbeans atau dapatkah IntelliJ menanganinya sendiri ..?
Mantar
Jadi secara keseluruhan, Anda tidak tahu.
Mantar
17

Anda juga dapat men-debug tomcat menggunakan edisi komunitas (Tidak seperti yang dikatakan di atas).

Jalankan tomcat dalam mode debug, misalnya seperti ini:. \ Catalina.bat jpda run

Dalam intellij : Jalankan> Edit Konfigurasi> +

Pilih "Remote" Beri nama koneksi: "somename" Set "Port:" 8000 (default 5005)

Pilih Run> Debug "somename"

MartinM
sumber
Luar biasa. Anda juga dapat mengatur alat eksternal untuk memulai Tomcat dari dalam IntelliJ IDE. Dalam Settings :: Tools :: External Tools, setel bidang program sebagai jalur ke catalina.bat Anda, setel bidang parameter ke jpda run. Simpan itu. Alat ini akan tersedia di menu Alat :: Alat Eksternal. Perhatikan penggunaan port konektor Tomcat 8000, yang disebutkan di atas. Jika Anda mengubah porta itu di server.xml Tomcat, maka ubah juga dalam definisi koneksi jarak jauh intelliJ.
J Slick
13

Harap verifikasi bahwa pengaya yang diperlukan telah diaktifkan di Pengaturan | Plugin , kemungkinan besar Anda telah menonaktifkan beberapa di antaranya, itulah mengapa Anda tidak melihat semua opsi faset.

Untuk tutorial langkah demi langkah, lihat: Membuat aplikasi Web sederhana dan menerapkannya ke Tomcat .

CrazyCoder
sumber
Sayangnya, di situs pertemuan IntelliJ IDEA tutorial ini telah menghilang. Hanya referensi ke tutorial bahasa Rusia yang ada di komentar.
Jan Croonen
5

Masalah yang saya hadapi adalah karena saya tanpa sadar mengedit nilai default dan bukan instance Tomcat baru sama sekali. Klik tanda plus di bagian kiri atas jendela Run dan pilih Tomcat | Lokal dari sana.

sial
sumber
1

Di Netbeans Anda dapat mengklik kanan pada proyek dan menjalankannya, tetapi di IntelliJ IDEA Anda harus memilih file index.jsp atau file selamat datang untuk menjalankan proyek.

ini karena Netbeans membuat tag berikut di web.xml dan IntelliJ tidak.

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>
Ammar Bozorgvar
sumber