[maven] Maven의 “webxml 속성이 필요합니다”오류

다음과 같은 오류가 발생합니다.

WAR 조립 오류 : webxml 속성이 필요합니다 (또는 업데이트 모드에서 실행중인 경우 기존 WEB-INF / web.xml).

나는 web.xml바로 이곳에 도착 했다projectname\src\main\webapp\WEB-INF\web.xml

이 문제의 원인은 무엇입니까?



답변

maven-war-plugin의 코드 스 니펫을 제공 할 수 있다면 도움이 될 것입니다. web.xml올바른 위치에 있는 것처럼 보이지만 여전히 위치를 명시 적으로 시도하고 제공 할 수 있습니다.

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-war-plugin</artifactId>
  <configuration>
    <webXml>src\main\webapp\WEB-INF\web.xml</webXml>
  </configuration>
</plugin>


답변

<plugin>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.4</version>
    <configuration>
        <failOnMissingWebXml>false</failOnMissingWebXml>
    </configuration>
</plugin>

이 솔루션은 저에게 효과적입니다 (이전에 2.2를 사용하고있었습니다). 또한 Servlet 3.0에 Java 기반 구성을 사용하고 있으며 web.xml 파일이 필요하지 않습니다.


답변

그것은 나에게도 완벽하게 작동합니다.

<project>

.....

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <webXml>WebContent\WEB-INF\web.xml</webXml>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>


답변

이것은 웹 프로젝트에 web.xml을 포함시키지 않았고 maven을 사용하여 전쟁을 일으키려고하기 때문입니다. 이 오류를 해결하려면 pom.xml 파일에서 failOnMissingWebXmlfalse 로 설정해야 합니다.

예를 들면 다음과 같습니다.

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

자세한 내용은 블로그를 참조하십시오 : https://ankurjain26.blogspot.in/2017/05/error-assembling-war-webxml-attribute.html


답변

XML 기반에서 Java 기반 구성으로 마이그레이션하고 WebApplicationInitializer를 구현하여 web.xml이 필요하지 않은 경우, web.xml 파일이 필요하지 않아도됩니다.

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


답변

작동하려면 webXml 태그의 값이 다음과 같아야합니다.

<webXml>${project.basedir}\src\main\webapp\WEB-INF\web.xml</webXml> 


답변

나는 똑같은 문제가 있었고 이것을 다음과 같이 해결했다.

WEB-INF아래에 이름이 지정된 새 폴더를 만듭니다.src/main/webbapp

당신의 오른쪽 클릭 프로젝트-> Java EE 도구-> 배치 디스크립터 스텁 생성을

이것은 당신을 생성해야합니다 web.xml

나는 이것이 당신의 문제를 해결함으로써 도움이되기를 바랍니다 : D