Mempertimbangkan:
Ketika saya membuat proyek Maven sederhana di Eclipse saya mendapatkan kesalahan ini:
web.xml hilang dan
<failOnMissingWebXml>
disetel ke true
Bagaimana saya bisa memperbaiki masalah ini?
eclipse
maven
jakarta-ee
m2eclipse
Yogesh Doke
sumber
sumber
maven-war-plugin
. Ini adalah plugin implisit di mana nilai default untuk properti konfigurasi itu benar. Anda perlu mendeklarasikannya secara eksplisit dan mengatur properti konfigurasi ke false. Lihat lebih lanjut di sini . Atau Anda dapat menambahkan web.xml kosongJawaban:
Anda dapat melakukannya juga seperti ini:
Ini akan menghasilkan folder WEB-INF di src / main / webapp dan web.xml di dalamnya.
sumber
web.xml
file yang tidak perlu . Anda harus memperbaiki masalah ini di alat Anda membangun (yaitu pakar) sebagai gantinya.Ini adalah kesalahan pakar. Ia mengatakan bahwa ia mengharapkan file web.xml di proyek Anda karena itu adalah aplikasi web, seperti yang ditunjukkan oleh
<packaging>war</packaging>
. Namun, untuk aplikasi web terbaru, file web.xml sepenuhnya opsional. Maven perlu mengejar kebaktian ini. Tambahkan ini ke pakarpom.xml
untuk membuat pakar mengejar dan Anda tidak perlu menambahkan yang tidak bergunaweb.xml
ke proyek Anda:Ini adalah solusi yang lebih baik daripada menambahkan yang kosong
web.xml
karena dengan cara ini produk akhir Anda tetap bersih, Anda hanya mengubah parameter build Anda.Untuk versi pakar terkini, Anda juga bisa menggunakan versi yang lebih pendek:
sumber
Interface WebApplicationInitializer
jawaban ini adalah pendekatan yang benar. Ini adalah cara yang masuk akal untuk menyelesaikan masalah ini - tidak ada gunanya menambahkanweb.xml
setelah mengambil langkah-langkah untuk hidup tanpanya!<properties><failOnMissingWebXml>false</failOnMissingWebXml></properties>
mencukupi daripada pengaturan konfigurasi plugin yang lebih verbose.Jika Anda sudah memiliki web.xml di bawah / src / main / webapp / WEB-INF tetapi Anda masih mendapatkan kesalahan "web.xml hilang dan disetel ke true", Anda dapat memeriksa apakah Anda telah menyertakan / src / main / webapp di sumber proyek Anda.
Berikut langkah-langkah yang bisa Anda ikuti:
(Saya memverifikasi ini dengan Eclipse Mars)
sumber
Jika Anda menggunakan Spring Tool Suite, opsi untuk Menghasilkan Stub Descriptor Descriptor dipindahkan di bawah Java EE Tools, sehingga Anda:
Ini akan membuat file web.xml di dalam folder src / main / webapp / WEB-INF /, dan tentu saja menghapus kesalahan dari file pom.xml Maven.
sumber
Saya memiliki masalah yang sama. Setelah belajar dan googling, saya telah menyelesaikan masalah saya:
Klik kanan pada folder proyek, pergi ke
Java EE Tools
, pilihGenerate Deployment Descriptor Stub
. Ini akan dibuatweb.xml
di foldersrc/main/webapp/WEB-INF
.sumber
Anda juga dapat melakukan ini yang kurang verbose
sumber
Eclipse mengenali
webapp
direktori default yang salah . Karena itu kita harus mengaturnya dengan jelasmaven-war-plugin
.Setelah menyimpan pengaturan ini, kesalahan tidak akan pernah terjadi jika dihapus. (Saya tidak bisa menjelaskan alasannya.)
sumber
Saya memiliki masalah yang sama, meskipun saya memiliki
'src/main/webapp/WEB-INF/'
folder dengan benarweb.xml
.Masalahnya hilang setelah saya membuat ulang konfigurasi (maven-> eclipse) dengan
Maven build..
saya dieksekusimvn eclipse:clean eclipse:eclipse
Dan kemudian saya biasa
Maven -> Update Project
menambahkan opsi spesifik plugin (eclipse-> maven).sumber
Saya mengalami masalah ini hanya di gerhana, semuanya bekerja dengan baik di baris perintah Maven, dan file web.xml saya ada. Itu adalah proyek yang matang (sudah dikerahkan dalam produksi) yang terkena dampak. Masalah saya terkait dengan metadata gerhana. Ada masalah dengan salah satu file di folder .s / saya, khususnya org.eclipse.wst.common.component telah diubah. Saya dapat mengembalikan file ini ke versi sebelumnya, yang menyelesaikan masalah dalam kasus saya.
Perhatikan bahwa jawaban Yuci tidak berfungsi untuk saya, ketika saya mencoba mengklik Majelis Penempatan di properti gerhana, saya mendapat kesalahan yang mengatakan "halaman yang saat ini ditampilkan berisi nilai yang tidak valid."
sumber
Untuk Project with web.xml, present Project -> Properties -> Deployment Assembly, tempat Anda dapat menambahkan Folder src / main / webapp. Simpan perubahan. Bersihkan proyek untuk memulai.
Untuk Proyek dengan web.xml tidak ada, Setel failOnMissingWebXml menjadi false di pom.xml di bawah tag properti.
sumber
Melakukan hal ini:
Pergi dan klik kanan pada Deployment Descriptor dan klik Generate Deployment Descriptor Desubtor.
sumber
Tidak masuk akal untuk membuat web.xml hanya elcipse menginginkannya, bahkan tidak perlu. Ini adalah kasus jika Anda memiliki servlet conatiner yang tertanam atau hidup tanpa xml cfg seperti spring-boot. Anda baru saja mengaktifkan JavaEE (hal-hal yang tidak berguna) dalam gerhana di tingkat proyek atau global
sumber
Pilih proyek Anda dan pilih opsi "Deployment Descriptor" lalu pilih "Generate Deployment Descriptor Desubtor"
sumber
Langkah: Pilih proyek Anda dan pilih opsi "Deployment Descriptor" dan kemudian pilih "Generate Deployment Descriptor Descriptor" bekerja dengan baik. Masalahnya adalah tidak selalu kita membutuhkan web.xml, jadi yang terbaik adalah menambahkan false ke pom.xml
sumber
Klik kanan pada
project --> New --> Other --> Standard Deployment Descriptor(web.xml)
lalu tekan Next maka akan membuat
WEB-INF
folder denganweb.xml
file di dalamnya.Itu sudah selesai.
sumber
Buat folder WEB-INF di src / webapp, dan sertakan halaman web.xml di dalam folder WEB-INF kemudian
sumber
Hapus file dari -web / .setting & -admin / .setting
sumber
Klik kanan pada proyek, pergi ke Maven -> Perbarui Proyek ... , lalu periksa Angkatan Pembaruan Snapshots / Rilis , lalu klik Ok . Selesai!
sumber