답변:
다음과 같이 할 수도 있습니다.
그것은 생성 WEB-INF에 있는 폴더 SRC / 메인 / 웹 애플리케이션 과 web.xml을 거기에 있습니다.
web.xml
파일 이 생깁니다 . 대신 빌드 도구 (예 : maven)에서이 문제를 해결해야합니다.
이것은 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>
Interface WebApplicationInitializer
답변을 구현 한 경우 올바른 접근 방법입니다. 이 문제를 해결하는 현명한 방법입니다. 문제 web.xml
없이 살기위한 조치를 취한 후 추가 할 필요는 없습니다!
<properties><failOnMissingWebXml>false</failOnMissingWebXml></properties>
더 자세한 플러그인 구성 설정 대신 충분 함을 포함 합니다.
이미 / SRC / 메인 / 웹 애플리케이션 / WEB-INF 아래의 web.xml을 가지고 있지만 경우에 당신은 아직도 당신이 포함 된 경우 확인할 수있다 "web.xml을 누락하고 true로 설정되어있는"오류가 / SRC / 메인 / 웹 애플리케이션 에 프로젝트 소스.
수행 할 수있는 단계는 다음과 같습니다.
(이클립스 화성으로 이것을 확인했습니다)
Spring Tool Suite를 사용하는 경우 배치 디스크립터 스텁 생성 옵션이 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>
이 설정을 저장하면 오류를 제거해도 오류가 발생하지 않습니다. (왜 그런지 설명 할 수 없습니다.)
'src/main/webapp/WEB-INF/'
올바른 폴더가 있지만 동일한 문제가 발생했습니다 web.xml
.
Maven build..
내가 실행 하여 (maven-> eclipse) 구성을 다시 만든 후에 문제가 사라졌습니다.
mvn eclipse:clean eclipse:eclipse
그리고 Maven -> Update Project
플러그인 특정 옵션을 추가 하는 데 사용 했습니다.
이클립스에서만이 문제가 발생했으며 Maven 명령 줄에서 모든 것이 잘 작동했으며 web.xml 파일이 존재했습니다. 영향을받은 것은 성숙한 프로젝트 (이미 프로덕션 환경에 배포)였습니다. 내 문제는 일식 메타 데이터와 관련이 있습니다. 내 .settings / 폴더의 파일 중 하나에 문제가 있었으며, 특히 org.eclipse.wst.common.component가 변경되었습니다. 이 파일을 이전 버전으로 복원 할 수 있었으며 이로 인해 문제가 해결되었습니다.
이클립스 속성에서 배포 어셈블리를 클릭하려고 할 때 "현재 표시된 페이지에 유효하지 않은 값이 포함되어 있습니다"라는 오류가 발생했습니다.
프로젝트를 선택하고 "Deployment Descriptor"옵션을 선택한 다음 "Deployment Descriptor 스텁 생성"을 선택하십시오.
src / webapp에 WEB-INF 폴더를 만들고 WEB-INF 폴더 안에 web.xml 페이지를 포함시킵니다
maven-war-plugin
. 이는 해당 구성 특성의 기본값이 true 인 내재적 플러그인입니다. 명시 적으로 선언하고 구성 특성을 false로 설정해야합니다. 자세한 내용은 여기를 참조 하십시오 . 또는 당신은 빈 web.xml에 추가 할 수 있습니다