Rozważać:
Kiedy tworzę prosty projekt Maven w Eclipse, pojawia się ten błąd:
Brak pliku web.xml i
<failOnMissingWebXml>
ma on wartość true
Jak mogę rozwiązać ten problem?
eclipse
maven
jakarta-ee
m2eclipse
Yogesh Doke
źródło
źródło
maven-war-plugin
. Jest to niejawna wtyczka, w której domyślną wartością tej właściwości konfiguracyjnej jest prawda. Musisz to jawnie zadeklarować i ustawić właściwość konfiguracji na false. Zobacz więcej tutaj . Lub możesz dodać pusty plik web.xmlOdpowiedzi:
Możesz to również zrobić w ten sposób:
Wygeneruje WEB-INF folder w src / main / webapp oraz web.xml w nim.
źródło
web.xml
plik. Zamiast tego powinieneś rozwiązać ten problem w narzędziu do budowania (np. Maven).To jest błąd maven. Mówi, że oczekuje pliku web.xml w twoim projekcie, ponieważ jest to aplikacja internetowa, na co wskazuje
<packaging>war</packaging>
. Jednak w przypadku najnowszych aplikacji internetowych plik web.xml jest całkowicie opcjonalny. Maven musi dogonić tę konwencję. Dodaj to do swojego mavena,pom.xml
aby maven nadrobił zaległości i nie musisz dodawać bezużytecznych elementówweb.xml
do swojego projektu:Jest to lepsze rozwiązanie niż dodanie pustego,
web.xml
ponieważ w ten sposób produkt końcowy pozostaje czysty, a jedynie zmieniasz parametry kompilacji.W przypadku bardziej aktualnych wersji Mavena możesz również użyć krótszej wersji:
źródło
Interface WebApplicationInitializer
odpowiedzi, ta odpowiedź jest właściwym podejściem. To rozsądny sposób na rozwiązanie tego problemu - nie ma sensu dodawaćweb.xml
kolejnych kroków, aby bez tego żyć!<properties><failOnMissingWebXml>false</failOnMissingWebXml></properties>
wystarczy zamiast bardziej szczegółowych ustawień konfiguracji wtyczki.Jeśli masz już plik web.xml w / src / main / webapp / WEB-INF, ale nadal pojawia się błąd „Brak pliku web.xml i jest ustawiony na wartość prawda”, możesz sprawdzić, czy włączyłeś / src / main / webapp w źródło Twojego projektu.
Oto kroki, które możesz wykonać:
(Sprawdziłem to w Eclipse Mars)
źródło
Jeśli używasz Spring Tool Suite, opcja Generate Deployment Descriptor Stub jest przenoszona do Java EE Tools, więc:
Spowoduje to utworzenie pliku web.xml w folderze src / main / webapp / WEB-INF / i oczywiście usunięcie błędu z pliku pom.xml Mavena.
źródło
Mam ten sam problem. Po nauce i googlowaniu rozwiązałem problem:
Kliknij prawym przyciskiem myszy folder projektu, przejdź do
Java EE Tools
, wybierzGenerate Deployment Descriptor Stub
. Spowoduje to utworzenieweb.xml
w folderzesrc/main/webapp/WEB-INF
.źródło
Możesz też zrobić to mniej szczegółowo
źródło
Eclipse rozpoznaje nieprawidłowy
webapp
katalog domyślny . Dlatego powinniśmy to jasno określić domaven-war-plugin
.Po zapisaniu tego ustawienia błąd nigdy nie wystąpi po jego usunięciu. (Nie potrafię wyjaśnić dlaczego.)
źródło
Miałem ten sam problem, mimo że miałem
'src/main/webapp/WEB-INF/'
folder z poprawnymweb.xml
.Problem zniknął po ponownym utworzeniu konfiguracji (maven-> eclipse) z
Maven build..
wykonaniemmvn eclipse:clean eclipse:eclipse
Następnie
Maven -> Update Project
dodałem (eclipse-> maven) opcje specyficzne dla wtyczki.źródło
Napotkałem ten problem tylko w eclipse, wszystko działało dobrze w wierszu poleceń Maven, a mój plik web.xml istniał. To był dojrzały projekt (już wdrożony w produkcji), na który miało to wpływ. Mój problem był związany z metadanymi zaćmienia. Wystąpił problem z jednym z plików w moim folderze .settings /, w szczególności zmieniono składnik org.eclipse.wst.common.com. Udało mi się przywrócić ten plik do jego poprzedniej wersji, co rozwiązało problem w moim przypadku.
Zauważ, że odpowiedź Yuciego nie zadziałała dla mnie, kiedy próbowałem kliknąć Deployment Assembly we właściwościach zaćmienia, otrzymałem błąd o treści „aktualnie wyświetlana strona zawiera nieprawidłowe wartości”.
źródło
Dla projektu z web.xml obecny Projekt -> Właściwości -> Zestaw wdrożeniowy, w którym można dodać folder src / main / webapp. Zapisz zmianę. Wyczyść projekt, aby rozpocząć.
Dla projektu z brakiem web.xml Ustaw failOnMissingWebXml na false w pom.xml w tagu properties.
źródło
Zrób to:
Idź i kliknij prawym przyciskiem myszy Deployment Descriptor i kliknij Generate Deployment Descriptor Stub.
źródło
Nie ma sensu tworzenie pliku web.xml po prostu elcipse tego chce, nawet jeśli nie ma takiej potrzeby. Dzieje się tak, jeśli masz osadzony serwlet conatiner lub żyjesz bez xml cfg, tak jak robi to spring-boot. Po prostu dający się porównać JavaEE (bezużyteczne rzeczy) w zaćmieniu na poziomie projektu lub globalnym
źródło
Wybierz projekt i wybierz opcję „Deployment Descriptor”, a następnie wybierz „Generate Deployment Descriptor stub”
źródło
Krok: Wybierz projekt i wybierz opcję „Deployment Descriptor”, a następnie wybierz opcję „Generate Deployment Descriptor stub”. Problem polega na tym, że nie zawsze jest tak, że potrzebujemy web.xml, dlatego najlepiej jest dodać false do pom.xml
źródło
Kliknij prawym przyciskiem myszy
project --> New --> Other --> Standard Deployment Descriptor(web.xml)
następnie naciśnij Dalej , utworzy
WEB-INF
folder zweb.xml
plikiem w środku.Gotowe.
źródło
Utwórz folder WEB-INF w src / webapp i umieść stronę web.xml w folderze WEB-INF, a następnie
źródło
Usuń pliki z -web / .Ustawienie & -admin / .Ustawienie
źródło
Kliknij prawym przyciskiem myszy projekt, przejdź do Maven -> Aktualizuj projekt ... , następnie zaznacz opcję Wymuś aktualizację migawek / wydań , a następnie kliknij OK . Zrobione!
źródło