동적 웹 모듈 3.0 -- 3.1
나는 메이븐화된 코드 기반의 Spring 3.2.4 웹 앱을 구성했습니다.메이븐/pom.xml로 앱을 처음 구축했을 때 web.xml이 없다는 오류가 발생했습니다.먼저 빈 web.xml을 만들려고 했습니다.이것은 프로젝트의 양상이 바뀌는 순간이었습니다. (그리고 왜 그런지 모르겠습니다.)동적 웹 모듈 3.0에서 3.1로 전환되었으며 이는 되돌릴 수 없습니다.동적 웹 모듈 3.0으로 다시 변경하려면 어떻게 해야 합니까?
또한 JAX-RS를 제거할 수 없습니다.이를 시도하면 다음과 같은 결과를 얻을 수 있습니다.
Failed while uninstalling JAX-RS (REST Web Services) 1.0.
org.eclipse.jst.javaee.web.internal.impl.WebAppImpl cannot be cast to org.eclipse.jst.j2ee.webapplication.WebApp
나중에 저는 pom.xml에 적절한 플러그인을 삽입함으로써 메이븐 컴파일 오류를 피할 수 있다는 것을 알게 되었습니다.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
나는 일식에서 비슷한 문제를 겪었고 나를 위해 그것을 고치는 유일한 방법은
- 웹 모듈을 제거합니다.
- 적용합니다.
- 모듈 버전 변경
- 모듈 추가
- 구성(대화 상자 하단에 있는 추가 구성 사용 가능한 링크)
- 적용합니다.
기본적으로 /WebContent/에서 사용자의 웹 파일을 찾을 것이므로 웹 모듈을 적용하기 전에 구성해야 합니다. Maven 프로젝트 구조는 그렇지 않습니다.
편집:
다른 도움이 되지 않을 경우를 대비해 두 번째 방법이 있습니다.
- 이클립스를 종료하고 파일 시스템의 프로젝트로 이동한 다음 .settings 폴더로 이동합니다.
- .
org.eclipse.wst.common.project.facet.core.xml
백업을 수행하고 웹 모듈 항목을 제거합니다. - 여기서 웹 모듈 버전을 수정할 수도 있지만 보증은 없습니다.
버전 3.1을 사용하려면 다음 스키마를 사용해야 합니다.
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd
되지 않으므로 3.0과 3.1을 간단히 합니다. 3.1은 Sun과 동일합니다.3_0.xsd
3_1.xsd
작동하지 않습니다.
다음과 같이 표시해야 합니다.
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:web="http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee">
</web-app>
또한 최신 버전을 사용하고 있는지 확인하십시오.pom.xml
.그은것,
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
...
</configuration>
</plugin>
그리고.
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
마지막으로 Java 7 또는 8로 컴파일해야 합니다.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
저도 같은 문제가 있었고 org.eclipse를 편집해서 수정했습니다.wst.common.project.facet.core.xml.
이 파일에서 저는 다음 줄을 변경할 수 있었습니다.
<installed facet="jst.web" version="3.1"/>
로 돌아가다.
<installed facet="jst.web" version="3.0"/>
그것이 저에게 문제를 해결해 주는 것처럼 보였습니다.
Win7, Tomcat7에서 메이븐 프로젝트가 활성화된 이클립스 마스에서 메이븐-폼 설정으로 실행했습니다.실행 중이 아닌 서버에서는 이 화면에서 3.1에서 3.0으로 변경하기만 하면 되었습니다.
Dynamic Web Module을 비활성화하는 것이 저에게 중요했습니다.그런 다음 버전을 변경한 다음 동적 웹 모듈을 다시 활성화합니다.
Eclipse 프로젝트 속성을 엽니다. 프로젝트 측면에서 "Dynamic Web Module"을 선택 취소합니다.OK Maven -> 프로젝트 업데이트를 클릭합니다.
특정한 경우 이 문제는 동적 웹 앱용으로 릴리스된 maven-archtype-webapp으로 인해 발생하며 ver.2.5(제작된 web.xml 및 관련 xsd 참조)와 관련이 있습니다.프로젝트 패싯을 동적 webapp > 2.5로 변경하려고 하면 src 폴더 구조가 구문적으로 변경됩니다(2.5는 3.1과 다릅니다). 그러나 공식적으로는 그렇지 않습니다.
따라서 변경사항을 적용할 경우 null 포인터 예외가 발생합니다.
이 문제를 해결하려면 프로젝트 패싯 구성에서 기본 구성을 설정해야 합니다.변경 사항을 적용한 다음 Java 빌드 경로로 이동하면 /src 폴더를 제거하고 /src/main/java 폴더를 생성해야 합니다(규정을 준수하려면 /src/main/resources 및 /src/test/java도 필요함). 원하는 구성(3.0, 3.1)으로 다시 변경한 후 적용합니다.
프로젝트 org.eclipse를 열었습니다.wst.common.project.facet.core.xml 및 처음 변경된 후 웹 모듈 태그로 줄을 제거했습니다.프로젝트를 정리하고 매번 Tomcat에서 시작했지만 여전히 실행되지 않았습니다.원래대로 라인을 반환하고 프로젝트를 정리했습니다.이클립스에서 Tomcat 설정을 열고 Tomcat 시작에 프로젝트를 수동으로 추가했습니다(오른쪽 클릭 + 추가 및 제거).프로젝트를 클릭하고 서버에서 실행...을 선택하면 모든 것이 정상입니다.
프로젝트로 이동하여 이 디렉토리에서 ".settings" 디렉토리를 찾으십시오.
이름이 지정된 xml 파일 열기:
오르간 연주wst.common.project.facet.core.xml
3)
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="java" version="1.5"/>
<installed facet="jst.web" version="2.3"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>
그냥 바꿔요.웹 버전을 3.0으로, Java 버전을 1.7 또는 1.8로(jdk 버전을 사용하는 현재 기준)
변경 내용web.xml
에 철하다.WEB-INF
디렉토리, 이 기사를 참조하십시오.
https://www.mkyong.com/web-development/the-web-xml-deployment-descriptor-examples/
이동pom.xml
다음 행을 파일로 붙여넣습니다.
<build>
<finalName>YOUR_PROJECT_NAME</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source> THIS IS YOUR USING JDK's VERSION
<target>1.8</target> SAME AS ABOVE
</configuration>
</plugin>
</plugins>
</build>
- 작업영역 위치로 이동
- 프로젝트 폴더 선택
- .폴더 설정
- 편집 "filename.dll"wst.common.project.facet.core"
- 설치된 facet="jst"를 변경합니다.web" 버전="3.0"
언급URL : https://stackoverflow.com/questions/19661135/dynamic-web-module-3-0-3-1
'programing' 카테고리의 다른 글
오류 준비 전표를 다시 준비해야 합니다. (0) | 2023.08.12 |
---|---|
Swift 3 - 장치 토큰이 '32B'로 구문 분석 중입니다.YTES' (0) | 2023.08.12 |
스프링 보안:콩의 정의 없음예외:[또는 스프링 프레임워크] 유형의 적격한 원두가 없습니다.security.config.config.confirmation.ObjectPostProcessor]을(를) 찾았습니다. (0) | 2023.08.12 |
asp에서 선택한 값 읽기:jQuery를 사용한 라디오 버튼 목록 (0) | 2023.08.12 |
jQuery 'if .change() 또는 .keyup()' (0) | 2023.08.12 |