[eclipse] web.xml이없고 <failOnMissingWebXml>이 true로 설정되었습니다.

치다:

여기에 이미지 설명을 입력하십시오

Eclipse 에서 간단한 Maven 프로젝트를 만들면 다음 오류가 발생합니다.

web.xml이 누락 <failOnMissingWebXml>되어 true로 설정되었습니다.

이 문제를 어떻게 해결할 수 있습니까?



답변

다음과 같이 할 수도 있습니다.

  1. Project Explorer 에서 Deployment Descriptor 를 마우스 오른쪽 버튼으로 클릭하십시오 .
  2. 배치 디스크립터 스텁 생성을 선택 하십시오 .

그것은 생성 WEB-INF에 있는 폴더 SRC / 메인 / 웹 애플리케이션web.xml을 거기에 있습니다.

여기에 이미지 설명을 입력하십시오


답변

이것은 maven 오류입니다. 에 표시된 것처럼 웹 응용 프로그램이기 때문에 프로젝트에 web.xml 파일이 필요하다고 말합니다 <packaging>war</packaging>. 그러나 최근 웹 응용 프로그램의 경우 web.xml 파일은 완전히 선택 사항입니다. 메이븐은이 협약을 따라야합니다. pom.xmlmaven을 따라 잡기 위해 이것을 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 / 메인 / 웹 애플리케이션 에 프로젝트 소스.

수행 할 수있는 단계는 다음과 같습니다.

  1. 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성 대화 상자를 연 다음 “배치 어셈블리”를 열어 폴더 / src / main / webapp를 추가 할 수 있습니다. 설정을 저장 한 다음
  2. Eclipse 메뉴 프로젝트-> 정리 …로 이동하여 프로젝트를 정리하면 오류가 사라집니다.

(이클립스 화성으로 이것을 확인했습니다)


답변

Spring Tool Suite를 사용하는 경우 배치 디스크립터 스텁 생성 옵션이 Java EE 도구 아래로 이동되므로 다음을 수행 할 수 있습니다.

  1. 마우스 오른쪽 단추로 클릭프로젝트
  2. Java EE 도구를 선택하십시오.
  3. 배치 디스크립터 스텁 생성 옵션을 선택 하십시오.

이것은 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>

이 설정을 저장하면 오류를 제거해도 오류가 발생하지 않습니다. (왜 그런지 설명 할 수 없습니다.)