[SPRING] 동적 웹 모듈 3.0 - 3.1
SPRING동적 웹 모듈 3.0 - 3.1
나는 봄베이 3.2.4 웹 애플리케이션으로 구성된 mavenized 코드베이스를 가지고있다. 처음에 Maven / 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에 해당 플러그인을 삽입하여 Maven 컴파일 오류를 피할 수 있음을 알았다.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
해결법
-
==============================
1.나는 이클립스에서 비슷한 문제를 겪었고 그것을 해결할 수있는 유일한 방법은
나는 이클립스에서 비슷한 문제를 겪었고 그것을 해결할 수있는 유일한 방법은
기본적으로 웹 모듈을 적용하기 전에 웹 모듈을 / WebContent /에있는 웹 파일을 찾도록 구성해야합니다. 이것은 Maven 프로젝트 구조가되어야하는 것이 아닙니다.
편집하다:
다른 도움이되지 않는 경우의 두 번째 방법입니다.
-
==============================
2.버전 3.1을 사용하려면 다음 스키마를 사용해야합니다.
버전 3.1을 사용하려면 다음 스키마를 사용해야합니다.
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>
-
==============================
3.나는 같은 문제를 안고 org.eclipse.wst.common.project.facet.core.xml을 편집하여이를 수정했다.
나는 같은 문제를 안고 org.eclipse.wst.common.project.facet.core.xml을 편집하여이를 수정했다.
이 파일에서 다음 줄을 바꿀 수있었습니다.
<installed facet="jst.web" version="3.1"/>
돌아가다
<installed facet="jst.web" version="3.0"/>
그것은 저를 위해 문제를 고치는 것처럼 보였다.
-
==============================
4.Win7, Tomcat7에서 Eclipse Mars에 maven-pom setup을 실행하고 있었는데, maven 프로젝트를 사용할 수있게되었습니다. 실행되지 않는 서버에서는이 화면에서 3.1에서 3.0으로 변경해야했습니다.
Win7, Tomcat7에서 Eclipse Mars에 maven-pom setup을 실행하고 있었는데, maven 프로젝트를 사용할 수있게되었습니다. 실행되지 않는 서버에서는이 화면에서 3.1에서 3.0으로 변경해야했습니다.
동적 웹 모듈을 비활성화하는 것이 중요했습니다. 그런 다음 버전을 변경 한 다음 동적 웹 모듈을 다시 활성화하십시오.
-
==============================
5.프로젝트 패싯의 Eclipse 프로젝트 속성 열기, "동적 웹 모듈"선택 취소 ... 확인을 클릭하십시오. 메이븐 (Maven) -> 프로젝트 업데이트
프로젝트 패싯의 Eclipse 프로젝트 속성 열기, "동적 웹 모듈"선택 취소 ... 확인을 클릭하십시오. 메이븐 (Maven) -> 프로젝트 업데이트
-
==============================
6.특정 경우에 문제는 동적 웹 애플리케이션 용으로 릴리스 된 maven-archetype-webapp로 인해 발생합니다 (ver.2.5 (제작 된 web.xml 및 관련 xsd 참조) 및 eclipse와 관련됨). 프로젝트 패싯을 동적 webapp> 2.5로 변경하려고하면 src 폴더 구조가 문법적으로 변경됩니다 (2.5는 3.1과 다릅니다).
특정 경우에 문제는 동적 웹 애플리케이션 용으로 릴리스 된 maven-archetype-webapp로 인해 발생합니다 (ver.2.5 (제작 된 web.xml 및 관련 xsd 참조) 및 eclipse와 관련됨). 프로젝트 패싯을 동적 webapp> 2.5로 변경하려고하면 src 폴더 구조가 문법적으로 변경됩니다 (2.5는 3.1과 다릅니다).
따라서 변경 사항을 적용 할 경우 null 포인터 예외가 발생합니다.
이를 해결하려면 프로젝트 패싯 구성에서 기본 구성을 설정해야합니다. 변경 사항을 적용한 다음 Java 빌드 경로로 이동하여 / src 폴더를 제거하고 적어도 / src / main / resources 및 / src / test / java가 있어야 / src / main / java 폴더를 만들어야합니다. 요구 사항 (3.0, 3.1)으로 다시 변경 한 다음 적용하십시오.
-
==============================
7.org.eclipse.wst.common.project.facet.core.xml 프로젝트를 열고 먼저 웹 모듈 태그로 라인을 삭제했다. 클리닝 된 프로젝트이고 매번 Tomcat에서 시작되었지만 여전히 실행되지 않았습니다. 반환 된 라인 (있는 그대로) 및 정리 된 프로젝트 Eclipse에서 Tomcat 설정을 열고 수동으로 Tomcat 시작 프로젝트에 추가했습니다 (마우스 오른쪽 단추 + 추가 및 제거). 프로젝트를 클릭하고 서버에서 실행 ...을 선택하면 모든 것이 잘되었습니다.
org.eclipse.wst.common.project.facet.core.xml 프로젝트를 열고 먼저 웹 모듈 태그로 라인을 삭제했다. 클리닝 된 프로젝트이고 매번 Tomcat에서 시작되었지만 여전히 실행되지 않았습니다. 반환 된 라인 (있는 그대로) 및 정리 된 프로젝트 Eclipse에서 Tomcat 설정을 열고 수동으로 Tomcat 시작 프로젝트에 추가했습니다 (마우스 오른쪽 단추 + 추가 및 제거). 프로젝트를 클릭하고 서버에서 실행 ...을 선택하면 모든 것이 잘되었습니다.
-
==============================
8.1) 프로젝트로 가서 ".settings"디렉토리를 찾으십시오. 2) 이름이 열린 xml 파일 : org.eclipse.wst.common.project.facet.core.xml 삼)
1) 프로젝트로 가서 ".settings"디렉토리를 찾으십시오. 2) 이름이 열린 xml 파일 : org.eclipse.wst.common.project.facet.core.xml 삼)
<?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>
jst.web 버전을 3.0으로 변경하고 Java 버전을 1.7 또는 1.8 (현재 jdk 버전을 기반으로 변경)
4) WEB-INF 디렉토리에서 web.xml 파일을 변경하십시오.이 기사를 참조하십시오. https://www.mkyong.com/web-development/the-web-xml-deployment-descriptor-examples/ 5) 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>
from https://stackoverflow.com/questions/19661135/dynamic-web-module-3-0-3-1 by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] @Autowired - 종속성을 위해 발견 된 유형의 한정 콩 (0) | 2019.01.09 |
---|---|
[SPRING] Spring 부트와 Tomcat으로 .keystore 파일을 어떻게 지정합니까? (0) | 2019.01.09 |
[SPRING] 스프링 데이터는 @query 쿼리를 동적으로 작성합니다. (0) | 2019.01.09 |
[SPRING] 봄 부팅 응용 프로그램에서 작업을 예약하는 가장 좋은 방법은 무엇입니까? (0) | 2019.01.09 |
[SPRING] SPA 프론트 엔드 용 스프링 부트 구성 (0) | 2019.01.09 |