Pogreška pomrčine: web.xml nedostaje, a failOnMissingWebXml postavljen je na true
1. Uvod
U ovom uputstvu razgovarat ćemo o uobičajenoj pogrešci Eclipse, "web.xml nedostaje i je postavljeno na true“, Koju dobivamo tijekom izrade web aplikacije.
2. Pogreška pomrčine
U web-aplikacijama Java, web.xml je standardni naziv deskriptora implementacije.
Web aplikaciju možemo stvoriti pomoću Mavena ili dinamični web projekt pomoću Eclipsea. Eclipse ne stvara zadani deskriptor implementacije web.xml ispod WEB-INF / imenik.
Specifikacije Java EE 6+ pokušale su de-naglasiti deskriptore implementacije, jer ih mogu zamijeniti napomenama. Međutim, niže inačice to još uvijek zahtijevaju.
The failOnMissingWebXml svojstvo je jedno od svojstava ratnog dodatka Apache Maven, org.apache.maven.plugins: maven-war-plugin. Zadana vrijednost ovog dodatka je pravi za verziju <3.1.0 i lažno za kasnije verzije.
To znači da ako koristimo maven-war-plugin prije verzije 3.1.0 i web.xml datoteka nije prisutna, tada cilj da se pakuje kao ratna datoteka neće uspjeti.
3. Korištenje web.xml
Za sve slučajeve u kojima još uvijek trebamo web.xml implementacijski deskriptor, možemo lako generirati web.xml u eklipsi:
- Desni klik na web projekt
- Zadržite pokazivač iznad Java EE alati na jelovniku
- Odaberi Generiraj opisnik implementacije Stub iz podizbornika

Voila! the web.xml datoteka se generira pod WEB-INF / imenik.
4. Bez web.xml
U većini slučajeva možda nećemo trebati web.xml dosje uopće. Umjesto da ostane prazno web.xml datoteku u našem projektu, jednostavno možemo preskočiti stvaranje. Srećom, postoje dva jednostavna pristupa, ovisno o tome koja verzija maven-war-plugin koristimo.
4.1. Korištenje maven-war-plugin-a prije 3.1.0
Možemo konfigurirati sve dodatke za Maven projekt u odjeljak našeg pom.xml. Kao što smo već rekli, zadana vrijednost za failOnMissingWebXml je pravi prije verzije 3.1.0 dodatka.
Proglasimo maven-war-plugin u našem pom.xml i izričito postaviti svojstvo failOnMissingWebXml do lažno:
maven-war-plugin 2.4 lažno
4.2. Korištenje maven-war-plugin 3.1.0 i novije verzije
Također možemo izbjeći eksplicitno postavljanje svojstva nadogradnjom verzije maven-war-plugin. Zadana vrijednost svojstva failOnMissingWebXml je lažno za maven-war-plugin verzija 3.1.0 i novija:
maven-war-plugin 3.1.0
5. Zaključak
U ovom smo članku vidjeli razlog nestalih web.xml pogreška i višestruki pristupi za njezino ispravljanje.
Kao i obično, naš se primjer može naći na GitHubu.