Eclipse Error: hiányzik a web.xml fájl, és a failOnMissingWebXml értéke true
1. Bemutatkozás
Ebben az oktatóanyagban megvitatjuk a gyakori Eclipse hibát:web.xml hiányzik és igazra van állítva“, Amelyet webalkalmazás létrehozása közben kapunk.
2. Eclipse hiba
Java webalkalmazásokban web.xml a telepítési leíró standard neve.
Készíthetünk webalkalmazást a Maven segítségével, vagy egy dinamikus webprojektet az Eclipse segítségével. Az Eclipse nem hozza létre az alapértelmezett telepítési leírót web.xml alatt WEB-INF / Könyvtár.
A Java EE 6+ specifikációk megkísérelték hangsúlyozni a telepítési leírók hangsúlyozását, mivel ezeket fel lehet cserélni annotációkkal. Az alacsonyabb verziók azonban továbbra is megkövetelik.
A failOnMissingWebXml tulajdonság az Apache Maven háborús plugin egyik tulajdonsága, org.apache.maven.plugins: maven-war-plugin. A plugin alapértelmezett értéke: igaz <3.1.0 verzióhoz és hamis a későbbi verziókhoz.
Ez azt jelenti, hogy ha használjuk maven-war-plugin korábbi, mint a 3.1.0 verzió, és a web.xml fájl nincs, akkor a háborús fájlként történő csomagolás sikertelen lesz.
3. Használata web.xml
Minden olyan esetben, amikor még szükségünk van a web.xml telepítési leíró, könnyen megtehetjük generál web.xml takarásban:
- Kattintson a jobb gombbal a webes projektre
- Mutasson a elemre Java EE Tools a menün
- Válassza a lehetőséget Telepítési leíró létrehozása Stub az almenüből
Voálá! a web.xml fájl a WEB-INF / Könyvtár.
4. Anélkül web.xml
A legtöbb esetben előfordulhat, hogy nem igényeljük a web.xml fájl egyáltalán. Ahelyett, hogy üresen tartaná web.xml fájlt, egyszerűen átugorhatjuk a létrehozását. Szerencsére két egyszerű megközelítés létezik, attól függően, hogy melyik verziója van maven-war-plugin használjuk.
4.1. A maven-war-plugin használata a 3.1.0 előtt
Konfigurálhatjuk a Maven projekt összes bővítményét a szakaszunk pom.xml. Ahogy azt már korábban mondtuk, a failOnMissingWebXml van igaz a plugin 3.1.0 verziója előtt.
Nyilatkozjuk ki a maven-war-plugin miénkben pom.xml és kifejezetten állítsa be a tulajdonságot failOnMissingWebXml nak nek hamis:
maven-war-plugin 2.4 hamis
4.2. A maven-war-plugin 3.1.0 és újabb verzióinak használata
A tulajdonság verziójának frissítésével elkerülhetjük a tulajdonság kifejezett beállítását is maven-war-plugin. A tulajdonság alapértelmezett értéke failOnMissingWebXml van hamis mert maven-war-plugin 3.1.0 és újabb verzió:
maven-war-plugin 3.1.0
5. Következtetés
Ebben a cikkben láttuk az eltűnés okát web.xml hiba és több megközelítés annak kijavítására.
Mint általában, példánk megtalálható a GitHubon.