프로젝트 패싯 동적 웹 모듈의 버전을 3.0으로 변경할 수 없습니까? 동적 웹 애플리케이션을 작성 중입니다. 나는

maven을 사용하여 Eclipse에서 동적 웹 애플리케이션을 작성 중입니다. 나는 일부 폴더가 좋아 추가 src/test/java하고 src/test/resources. 또한 JavaSE-1.7을 얻기 위해 Java Build Path의 라이브러리를 변경했습니다. 여기까지는 괜찮습니다.

프로젝트 패싯 동적 웹 모듈을 변경하려고 할 때 문제가 발생했습니다. 같은 장소에서 Java를 1.7로 변경했습니다. 그리고 그것은 여전히 ​​말해, 프로젝트 패싯 동적 웹 모듈의 버전을 3.0으로 변경할 수 없습니다.

나는 생각하는 변화에 영향을 미치는 모든 것을 바꿨다.



답변

나는 내 업데이트 web.xml

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
          http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    version="3.0">
    <display-name>Servlet 3.0 Web Application</display-name>
</web-app>

그리고 Maven-> Update Project …


답변

다른 방법은 프로젝트 패싯 구성 파일 자체를 편집하는 것입니다. org.eclipse.wst.common.project.facet.core.xml

이 줄의 동적 웹 모듈 버전을 3.0으로 변경하십시오. <installed facet="jst.web" version="2.5"/>

그리고:

  1. 프로젝트 탐색기 패널 에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하십시오 .
  2. 선택 메이븐»업데이트 프로젝트 (또는 누릅니다 Alt+F5)

이 파일 .settings은 Eclipse 프로젝트 의 디렉토리에 있습니다.


답변

나는 당신과 같은 문제가 있다고 생각합니다. 내 web.xml의 버전은 2.5 였고 프로젝트에는 (프로젝트-> 속성-> 프로젝트 패싯-> 마우스 오른쪽 버튼을 클릭) Dynamic Web Module 2.3이있었습니다.

2.3에서 2.5로 버전을 변경하려고 시도했지만 ECLIPSE가 허용하지 않았습니다. 솔루션 : 동적 웹 모듈이라는 제목 아래의 확인 표시를 제거하고 저장했으며 프로젝트 업데이트가있었습니다. 올바른 버전으로 상자에 자동으로 다시 깨우기가 이루어집니다. Eclipse Kepler를 사용합니다.

추신 : 아래에서 Jonathan의견을 살펴보십시오 . 매우 유용합니다.


답변

  1. 프로젝트 폴더를 클릭하십시오.
  2. 창>보기 표시> 네비게이터로 이동
  3. 네비게이터로 이동하여 .settings 폴더를 펼치십시오.
  4. org.eclipse.wst.common.project.facet.core.xml파일 열기

    <?xml version="1.0" encoding="UTF-8"?>
    <faceted-project>
      <fixed facet="wst.jsdt.web"/>
      <installed facet="jst.web" version="2.3"/>
      <installed facet="wst.jsdt.web" version="1.0"/>
      <installed facet="java" version="1.8"/>
    </faceted-project>
  5. 이처럼 버전을 변경하십시오 <installed facet="jst.web" version="3.1"/>

  6. 저장
  7. 프로젝트를 업데이트하십시오. 프로젝트 폴더> Maven> 프로젝트 업데이트> 프로젝트를 선택하고 ‘확인’을 클릭하십시오.

이게 나에게 효과가 있었다.


답변

나는 같은 문제가 있었고 프로젝트를 제거하고 다시 추가하려고했습니다. 트릭은 .settings디렉토리 를 제거하는 것이 었습니다 .


답변

지우다

.settings
.classpatch
.projejct
target

maven 프로젝트를 다시 가져옵니다.


답변

나를 위해 일한 것 :

  1. Java를 1.8 (또는 1.7)로 변경

POM에서 <build>섹션의 컴파일러 플러그인을 버전 1.8 (또는 1.7)로 설정해야 합니다.

  <build>
    ...
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.6.0</version>
          <configuration>
            <source>1.8</source>
            <target>1.8</target>
          </configuration>
        </plugin>
      </plugins>
  </build>

Java 빌드 변경에 1.8이 표시되는지 확인하십시오. 그렇지 않은 경우-편집을 클릭하고 원하는 것을 선택하십시오.

  1. 3.0이 버전 및 링크에서 참조되도록 web.xml을 수정하십시오.

  1. 프로젝트 패싯에서 Java를 1.8로 설정했는지 확인하십시오.

  1. 이 단계에서 여전히 동적 웹 모듈을 변경할 수 없습니다.

변경하는 대신 :

a) 동적 웹 모듈의 선택을 해제 하십시오

b) 신청

c) 다시 확인하십시오. 새로운 버전 3.0을 설정해야합니다. **

적용하고 다시 확인한 후 :

도움이 되었기를 바랍니다.