web.xml ontbreekt en <failOnMissingWebXml> is ingesteld op waar

Overweeg:

Enter afbeelding beschrijving hier

Als ik een eenvoudig Maven-project maak in EclipseIk krijg deze foutmelding:

web.xml ontbreekt en <failOnMissingWebXml>is ingesteld op
waar

Hoe kan ik dit probleem oplossen?


Antwoord 1, autoriteit 100%

Dit is een maven-fout. Er staat dat het een web.xml-bestand in uw project verwacht omdat het een webtoepassing is, zoals aangegeven door <packaging>war</packaging>. Voor recente webtoepassingen is een web.xml-bestand echter volledig optioneel. Maven moet deze conventie inhalen.
Voeg dit toe aan uw maven pom.xmlom maven te laten inhalen en u hoeft geen nutteloze web.xmltoe te voegen aan uw project:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.6</version>
            <configuration>
                <failOnMissingWebXml>false</failOnMissingWebXml>
            </configuration>
        </plugin>
    </plugins>
</build>

Dit is een betere oplossing dan het toevoegen van een lege web.xml, want op deze manier blijft uw eindproduct schoon, u wijzigt alleen uw buildparameters.

Voor meer actuele versies van maven kunt u ook de kortere versie gebruiken:

<properties>
    <failOnMissingWebXml>false</failOnMissingWebXml>
</properties>

Antwoord 2, autoriteit 48%

Je kunt het ook als volgt doen:

  1. Klik met de rechtermuisknop op Deployment Descriptorin Project Explorer.
  2. Selecteer Deployment Descriptor Stub genereren.

Het genereert de map WEB-INFin src/main/webappen een web.xmlerin.

invoeren afbeelding beschrijving hier


Antwoord 3, autoriteit 8%

Als je web.xml al hebt onder /src/main/webapp/WEB-INF maar je krijgt nog steeds de foutmelding “web.xml ontbreekt en is ingesteld op true”, kun je controleren of je / hebt opgenomen src/main/webappin uw projectbron.

Dit zijn de stappen die u kunt volgen:

  1. U kunt dit controleren door met de rechtermuisknop op uw project te klikken en het dialoogvenster Eigenschappen te openen, en vervolgens “Deployment Assembly”, waar u de map /src/main/webapp kunt toevoegen. Sla de instelling op, en dan,
  2. Ga naar Eclipse-menu Project -> Reinig… en maak het project schoon, en de fout zou moeten verdwijnen.

(Ik heb dit geverifieerd met Eclipse Mars)


Antwoord 4, autoriteit 5%

Je kunt dit ook doen, wat minder uitgebreid is

<properties>
    <failOnMissingWebXml>false</failOnMissingWebXml>
</properties>

Antwoord 5, autoriteit 5%

Als u Spring Tool Suite gebruikt, wordt de optie Generate Deployment Descriptor Stub verplaatst onder Java EE Tools, zodat u:

  1. Klik met de rechtermuisknopop uw project
  2. Selecteer Java EE Tools
  3. Selecteer Deployment Descriptor Stub-optie genereren

Hiermee wordt een web.xml-bestand gemaakt in de src/main/webapp/WEB-INF/-map en natuurlijk wordt de fout verwijderd uit het pom.xml-bestand van Maven.

enter afbeelding beschrijving hier


6

Ik heb dit probleem alleen bij Eclipse tegengekomen, alles werkte prima in Maven-opdrachtregel en mijn web.xml-bestand bestond. Het was een volwassen project (al ingezet in de productie) die werd beïnvloed. Mijn probleem was vastgebonden aan de Eclipse-metagegevens. Er was een probleem met een van de bestanden in mijn .Stings / map, specifiek org.eclipse.wst.common.component was gewijzigd. Ik was in staat om dit bestand naar zijn eerdere versie te herstellen, die het probleem in mijn geval opgelost is.

Merk op dat het antwoord van YUCI niet voor mij werkte, toen ik probeerde op de implementatie-assemblage in de Eclipse-eigenschappen te klikken, heb ik een fout opgetreden die zei: “De momenteel weergegeven pagina bevat ongeldige waarden.”


7

Doe dit:

Ga en klik met de rechtermuisknop op Implementat Descriptor en klik op Dubbelwijding Genereer Descriptor.


8

Selecteer uw project
en selecteer de optie “Descriptor Descriptor”
en kies vervolgens “Genereer descriptor Descriptor Stub”


9

De stap van: Selecteer uw project en selecteer de optie “Deployment Descriptor” en kies vervolgens “Generate Deployment Descriptor stub” werkt prima. Het probleem is dat het niet altijd zo is dat we web.xml nodig hebben, dus het is het beste om false toe te voegen aan pom.xml


Antwoord 10

Klik met de rechtermuisknop op het project --> New --> Other --> Standard Deployment Descriptor(web.xml)

1

druk vervolgens op Volgendeen er wordt een map WEB-INFgemaakt met daarin een bestand web.xml.

2

Dat is het.


Antwoord 11

Mijn project had niets met oorlog te maken, maar dezelfde fout. Ik moest het project uit eclipse verwijderen, alle eclipse-bestanden uit de projectmap verwijderen en maven-project opnieuw importeren.


Antwoord 12

Maak een WEB-INF-map in src/webapp en neem de web.xml-pagina op in de WEB-INF-map en


Antwoord 13

Klik met de rechtermuisknop op het project, ga naar Maven -> Project bijwerken…, controleer dan de Update van momentopnamen/releases forcerenen klik vervolgens op Ok. Het is klaar!

Other episodes