치다:
Eclipse 에서 간단한 Maven 프로젝트를 만들면 다음 오류가 발생합니다.
web.xml이 누락
<failOnMissingWebXml>
되어 true로 설정되었습니다.
이 문제를 어떻게 해결할 수 있습니까?
답변
다음과 같이 할 수도 있습니다.
- Project Explorer 에서 Deployment Descriptor 를 마우스 오른쪽 버튼으로 클릭하십시오 .
- 배치 디스크립터 스텁 생성을 선택 하십시오 .
그것은 생성 WEB-INF에 있는 폴더 SRC / 메인 / 웹 애플리케이션 과 web.xml을 거기에 있습니다.
답변
이것은 maven 오류입니다. 에 표시된 것처럼 웹 응용 프로그램이기 때문에 프로젝트에 web.xml 파일이 필요하다고 말합니다 <packaging>war</packaging>
. 그러나 최근 웹 응용 프로그램의 경우 web.xml 파일은 완전히 선택 사항입니다. 메이븐은이 협약을 따라야합니다. pom.xml
maven을 따라 잡기 위해 이것을 maven 에 추가하면 web.xml
프로젝트에 쓸모없는 것을 추가 할 필요가 없습니다 .
<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>
이것은 web.xml
최종 제품을 깨끗하게 유지하고 빌드 매개 변수를 변경하기 때문에 빈을 추가하는 것보다 더 나은 솔루션 입니다.
최신 버전의 maven의 경우 더 짧은 버전을 사용할 수도 있습니다.
<properties>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
답변
이미 / SRC / 메인 / 웹 애플리케이션 / WEB-INF 아래의 web.xml을 가지고 있지만 경우에 당신은 아직도 당신이 포함 된 경우 확인할 수있다 “web.xml을 누락하고 true로 설정되어있는”오류가 / SRC / 메인 / 웹 애플리케이션 에 프로젝트 소스.
수행 할 수있는 단계는 다음과 같습니다.
- 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성 대화 상자를 연 다음 “배치 어셈블리”를 열어 폴더 / src / main / webapp를 추가 할 수 있습니다. 설정을 저장 한 다음
- Eclipse 메뉴 프로젝트-> 정리 …로 이동하여 프로젝트를 정리하면 오류가 사라집니다.
(이클립스 화성으로 이것을 확인했습니다)
답변
Spring Tool Suite를 사용하는 경우 배치 디스크립터 스텁 생성 옵션이 Java EE 도구 아래로 이동되므로 다음을 수행 할 수 있습니다.
- 마우스 오른쪽 단추로 클릭 온 프로젝트
- Java EE 도구를 선택하십시오.
- 배치 디스크립터 스텁 생성 옵션을 선택 하십시오.
이것은 src / main / webapp / WEB-INF / 폴더 안에 web.xml 파일을 생성 할 것입니다. 물론 Maven의 pom.xml 파일에서 에러를 제거합니다.
답변
나도 같은 문제가있어. 공부하고 인터넷 검색을 한 후 문제를 해결했습니다.
프로젝트 폴더를 마우스 오른쪽 버튼으로 클릭하고로 이동하여을 Java EE Tools
선택하십시오 Generate Deployment Descriptor Stub
. web.xml
폴더에 생성 됩니다 src/main/webapp/WEB-INF
.
답변
당신은 또한 덜 장황한 이것을 할 수 있습니다
<properties>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
답변
Eclipse가 올바르지 않은 기본 webapp
디렉토리를 인식 합니다. 따라서 우리는이를 명확하게 설정해야합니다 maven-war-plugin
.
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<webappDirectory>src/main/webapp</webappDirectory>
</configuration>
</plugin>
</plugins>
</build>
이 설정을 저장하면 오류를 제거해도 오류가 발생하지 않습니다. (왜 그런지 설명 할 수 없습니다.)