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.