프로젝트 패싯 Dynamic Web Module 버전을 3.0으로 변경할 수 없습니다.
이클립스 메이븐.src/test/java
★★★★★★★★★★★★★★★★★」src/test/resources
Java 빌드 패스(Java Build Path)는 JavaSE-1.7을 사용합니다.기까여
Projects Facet Dynamic Web Module을 변경하려고 했을 때 문제가 발생했습니다.같은 장소에서 자바 버전을 1.7로 변경했습니다.그리고 프로젝트 패싯의 Dynamic Web Module 버전을 3.0으로 변경할 수 없다고 합니다.
저는 제 생각에 변화에 영향을 미칠 모든 것을 바꿨습니다.
다른 방법은 하는 것입니다.org.eclipse.wst.common.project.facet.core.xml
웹 을 3합니다.<installed facet="jst.web" version="2.5"/>
그 후:
- 프로젝트 탐색기 패널에서 프로젝트를 마우스 오른쪽 버튼으로 클릭합니다.
- [ Maven ] ( [ Update Project ]를 선택합니다(또는 를 누릅니다).
은 이 URL에 .settings
디렉토리로 이동합니다.
했습니다.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 -> 프로젝트 업데이트...
나도 너와 같은 문제가 있었던 것 같아.내 web.xml에는 버전 2.5가 있고 프로젝트에는 (프로젝트 -> 속성 -> 프로젝트 패싯 ->) 다이내믹 웹 모듈 2.3이 있습니다.
버전을 2.3에서 2.5로 변경하려고 했지만 이클립스가 허락하지 않았습니다.솔루션:[ Dynamic Web Module ](다이나믹 웹 모듈)의 체크 마크를 삭제하고 저장하고 [Update Project](프로젝트 갱신)을 실행했습니다.올바른 버전의 상자에 자동으로 다시 깨우기가 입력됩니다.나는 이클립스 케플러를 사용한다.
p.s.: 바로 아래에 있는 조나단의 코멘트를 보세요, 매우 유용합니다.
- 프로젝트 폴더를 클릭합니다.
- [ Window ]> [ Show View ]> [ Navigator ]으로 이동합니다.
- Navigator로 이동하여 .settings 폴더를 펼칩니다.
.
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>
을 다음과 변경합니다.
<installed facet="jst.web" version="3.1"/>
- 절약하다
- 프로젝트를 업데이트하십시오.[ Project Folder ]> [ Maven ]> [ Update Project ]> [ Project ]를 오른쪽 클릭하여 [OK]을 클릭합니다.
나한테는 이게 통했어
저도 같은 문제가 있어서 프로젝트를 삭제하고 다시 추가하려고 했습니다..settings
디렉토리로 이동합니다.
삭제
.settings
.classpatch
.projejct
target
메이븐 프로젝트를 다시 Import합니다.
나에게 효과가 있었던 것:
- Java를 1.8(또는 1.7)로 변경합니다.
을 POM 1.7.<build>
★★★★
<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 Build가 1.8로 표시되는지 확인합니다.그렇지 않은 경우 - [Edit]를 클릭하여 원하는 항목을 선택합니다.
- 버전 및 링크에서 3.0이 참조되도록 web.xml을 변경합니다.
- Project Facets에서 Java가 1.8로 설정되어 있는지 확인합니다.
- 이 단계에서는 다이내믹 웹 모듈을 변경할 수 없었습니다.
변경하는 대신:
a) Dynamic Web Module(다이나믹 웹 모듈)을 꺼줍니다.
b) 신청
c) 다시 확인합니다.새 버전 3.0을 설정해야 합니다.**
적용 후 다시 확인 후:
이게 도움이 됐으면 좋겠다.
프로젝트 → 속성을 마우스 오른쪽 버튼으로 클릭합니다. 프로젝트 패싯에서 동적 웹 모듈(버전은 3.1이어야 함)을 선택 취소하고 JavaServer Faces(버전은 2.2)를 선택 취소합니다.
변경:
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
다음과 같이 입력합니다.
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:javaee="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
다음으로 프리픽스를 삭제하기 전에param-name
아, 아, 아, 아, 아, 아, 아, 아, 아.
마지막으로 Maven -> 프로젝트 갱신.
Navigator 보기를 열고 다음 단계를 수행하십시오.
- ([윈도]> [보기]> [기타]> [일반])프로젝트 아래에 .settings 폴더가 있는 것을 확인하고 전개하여 파일 "org.eclipse" 를 엽니다.wst.common.project.facet.core.xml"에서 아래 내용을 변경하고 파일을 저장합니다.
- 이 라인의 다이내믹 웹 모듈 버전을 2.5로 변경합니다.
- 이 행의 Java 버전을 1.5 이상으로 변경합니다.
프로젝트 구조 http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> Servlet 3.0 웹 어플리케이션에서 web.xml을 엽니다.
web.xml 파일을 업데이트합니다(예: 버전 변경 = "2.5").
org.eclipse도 변경합니다.wst.common.project.프로젝트 .settings 파일의 facet.core.xml 파일1단계에 따릅니다.Window > Show View > Other > General > Navigator
프로젝트 디렉토리 아래에 .settings 폴더가 있습니다.
이 행의 다이내믹 웹 모듈버전을 2.5 4로 변경합니다.이 행의 Java 버전을 1.5 이상으로 변경
이제 프로젝트를 새로 고치고 서버에서 실행되도록 설정하십시오.
솔루션에 대해서는, http://scrapillars.blogspot.in/2014/02/how-to-change-project-facet-in-eclipse.html 의 블로그를 참조해 주세요.
솔루션은 이미지 일러스트와 함께 제작됩니다.
이 문제를 해결한 가장 간단한 절차는 1) [프로퍼티]-> [프로젝트]-> [다이나믹 웹 모듈]체크박스를 끄거나 끄거나 하는 것입니다.-> [적용] 2) 원하는 버전으로 변경해 주세요 3) [다이나믹 웹 모듈]체크박스를 켜겠습니다--이렇게 하면...
이 문제를 해결하는 또 하나의 방법(문제 해결에 도움이 되기를 바랍니다)
문제
프로젝트 패싯 동적 웹 모듈 2.3 버전을 3.0으로 변경할 수 없습니다.
솔루션
- 프로젝트 위치로 이동합니다(예: D:/mapen/to).
- .setting 폴더로 이동
- org.disc 파일을 확인합니다.wst.common.project.facet.core.xml
- 파일을 열고 "jst.web" 속성을 2.3에서 3.0으로 변경한 후 저장합니다.
- 프로젝트를 마우스 오른쪽 버튼으로 클릭하여 프로젝트를 새로 고치고 새로 고칩니다.
- 끝!!!
web.xml 트릭은 컨테이너가 지원하는 내용에 관계없이 특정 서블릿버전을 사용하고 있음을 WTP에 명시적으로 통지하기 때문에 기능합니다.
제 경우 Maven 프로젝트 내에서 주석 구성을 사용하고 있으며 web.xml 파일이 없습니다.web.xml이 없는 경우 WTP는 Maven 의존관계를 확인하여 사용할 Servlet 버전을 결정합니다.제 경우, 다음과 같이 정의했습니다.
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
6.0으로 변경하면 문제가 해결되어 현재 JavaEE 7의 기본값인 3.1이 아닌 Servlet 3.0을 사용하고 있습니다.Tomcat 8에서 Tomcat 7로 이동해야 했기 때문에 Tomcat 7은 JavaEE 6 웹 프로파일만 지원합니다.이제 모든 것이 훌륭하게 작동한다.
web.xml 편집과 .settings 폴더 내의 파일 변경만으로는 도움이 되지 않았습니다.내 해결책은 pom.xml을 편집하여 원하는 Java 버전을 사용하기 위해 maven 컴파일러 플러그인을 직접 포인트하는 것이었습니다.
<build>
...
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
Maven-> Update project를 실행하고 그 후 Properties-> project facets-> Dynamic Web 모듈버전을 변경하거나 앞서 기술한 org.eclipse를 수동으로 편집하여 servlet 버전을 변경할 수 있습니다.wst.common.project.facet.core.xml을 참조해 주세요.
이 경우 web.xml은 dtd에 의해 참조되었습니다.시드니가 올린 것과 같은 xsd 레퍼런스로 변경 후 동작했습니다.
같은 문제가 발생하여 .settings 폴더를 삭제하면 문제가 해결되었습니다.
일반적인 Java Project를 Maven Project로 변환하려고 할 때 이 오류가 발생하였습니다.
제가 한 일은 제 프로젝트에 필요한 자바 컴파일러 버전을 결정하는 것이었습니다.은 Java 버전입니다.1.8
.
을 낮은 으로 낮춤으로써1.8
Import된 라이브러리의 버전을 "IDE Import"로 결정합니다.그래서 나는 최소 자바 버전을 다음과 같이 결정한다.1.8
1. Right click your project
2. Go to Properties
3. Left hand-side panel, click "Project Facets"
4. For Java, set the version according to your minimum version
이제 Java 컴파일러 버전이 Project Facets에서 설정한 것과 동일한 Java 버전을 사용하는지 확인합니다.
1. Right click your project
2. Go to Porperties
3. Left hand-side panel, click "Java Compiler"
4. Make sure Java Compiler version is the same.
5. If it is not the same, change the version. (Uncheck "Use compliance from execution environment' if needed to make the changes.
변경 후 오류가 해결됩니다.오류가 해결되지 않으면 [Project]-> [ Maven ]-> [ Update Project ]를 오른쪽 클릭합니다.
Eclipse(Mars)에서 프로젝트 패싯 Dynamic Web Module의 버전을 변경할 수 없었던 문제에 대한 저의 해결책은 다음과 같습니다.
- Maven Nature 비활성화
- web.xml 네임스페이스가 올바른 버전을 가리키는지 확인합니다.
- Maven Nature 재활성화
- Maven » 프로젝트 업데이트(또는 Alt+F5 누름)
시드니의 답변이 여전히 도움이 되지 않는다면 아래를 시도해 보세요.시드니의 답변에 이어 goto Properties > Projects Facets 순으로 Dynamic Web Module을 선택 해제하고 web.config에 맞게 버전을 변경한 후 다시 선택합니다.[ Apply ]> [ Save Then Maven Update ]를 선택합니다.
web.xml
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:web="http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="Web_App_1" version="3.1">
<display-name>JavaServerFaces</display-name>
<!-- Change to "Production" when you are ready to deploy -->
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<!-- Welcome page -->
<welcome-file-list>
<welcome-file>jsfs/hello.xhtml</welcome-file>
</welcome-file-list>
<!-- JSF mapping -->
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Map these files with JSF -->
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>jsfs/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
여기서 많은 답을 시도해 봤지만, 어느 것도 통하지 않았다.그러다가 여기서 내 문제에 대한 기사를 발견했어.저도 여기서 같이 먹으려고요.
다음은 간단한 절차입니다.
- 컴파일러 컴플라이언스 레벨을 설정합니다.
- 프로젝트 패싯 업데이트
- 기본 설정에서 설치된 JRE 업데이트
- java 1.7을 사용하기 위해 pom.xml 설정을 추가하고 마지막으로
- Maven에서 프로젝트를 업데이트하고 있습니다.
메이븐 이클립스 웹 프로젝트의 경우 동적 웹 모듈 버전을 변경하려면 세 곳을 확인해야 합니다.이클립스를 사용하는 경우, 그리고 다음 항목을 체크한 후 1) 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">
2) 메이브:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope> ## ensure you have tomcat 7 not other version
</dependency>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.7</source> ## at least 6
<target>1.7</target>
</configuration>
</plugin>
3) 이클립스 빌드 경로 및 컴파일러 버전은 1.7
메이븐에 아직 오류 마커가 있습니다.
cannot change version of project facet dynamic web module to 3.0 one or more constrants have not been satisfied
다음으로 다이내믹 웹 모듈을 끄고 다시 체크할 수 있습니다.아무래도 이클립스 파일의 설정이 손상되어 있는 것 같습니다.두 번째 팁 Tomcat에 대해서 어떤 버전이 좋은지.
maven 업데이트 또는 프로젝트 재 Import는 도움이 되지 않았습니다.@Sydney의 답변이 옳습니다.게다가 JavaServer Faces 2.2에서는 Dynamic Web Module 2.5 이후가 필요합니다.
org.eclipse를 엽니다.wst.common.project.facet.core.xml 파일을 입력하고 jst를 변경합니다.웹 버전을 3.0으로 변경합니다.또한 web.xml을 버전 3.0으로 업데이트합니다.프로젝트를 저장하고 업데이트합니다.이게 도움이 됐으면 좋겠다.나는 이클립스 주노를 쓰고 있다.
이것은 이클립스 화성을 사용한 파구릭스의 대답의 변형입니다.
web.xml 파일을 web.bak으로 변경합니다.
오류는 무시해, 다음에 재생성할게.
[ Project Properties ]-> [ Project Faces ]으로 이동하여 Dynamic Web Module 버전을 필요한 버전으로 설정합니다.이제 이클립스를 사용하여 저장할 수 있습니다.
이제 프로젝트를 마우스 오른쪽 버튼으로 클릭합니다.[ Java EE Tools ]-> [ Generate Deployment Descriptor Stub ]를 선택합니다.
그러면 필요한 버전을 사용하여 새 web.xml이 생성됩니다.
새 web.xml을 열고 XML 헤더와 완전한 웹 앱 열기 태그를 사용하여 원래 web.bak에 복사한 후 새 web.xml을 삭제하고 web.bak 이름을 web.xml로 다시 변경합니다.
다 했어요.
저는요Web Module 3.0
에web.xml
단,properties>Dynamic Web Module
켜져 있었다3.1
변경했습니다.web.xml
다음과 같이 입력합니다.
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
이 변경 후 다음 작업을 수행합니다.right click on project>Maven>Update Project...
버전 관련 이 문제 -> Properties -> Project Facets -> Dynamic Web Module 우클릭 -> Unlock it -> 꺼짐 -> 2.5 버전 선택 -> Apply -> Maven 업데이트
web.xml을 올바른 버전으로 수정하고 xsd 위치를 지정하여 org.eclipse를 수정하여 문제를 해결했습니다.wst.common.project.올바른 버전의 facet.core.xml을 사용하여 maven 업데이트를 수행합니다.
maven 업데이트는 나에게 효과가 있었다.
프로젝트를 선택하고 ALT+F5를 누른 다음 프로젝트를 선택합니다.
다른 치료법으로 같은 증상이 있었어요.JSF 2.2.4/Spring 3.0 웹 앱을 JSF 2.3으로 업그레이드하여 새로운 JSF 웹 소켓 후크를 즐기려고 했는데 이클립스(실제로는 STS)가 협조하지 않았습니다.Eclipse의 Project Facets에서 JSF 2.3은 org.eclipse를 직접 편집할 때까지 사용할 수 없었습니다.wst.common.project.facet.core.xml 파일은 이전 답변에서 지시한 바와 같습니다.가장 높은 파일은 2.2입니다.
여기 내가 뛰어내린 후프들이 있다.기본적으로는 이 모든 구성을 이해하지 못하기 때문에 이 모든 것이 필요한지는 모르겠습니다.
Eclipse I에서는 "설치된 1개 이상의 패싯을 구현할 수 없을 때 패싯된 프로젝트를 수정하면 프로젝트가 손상될 수 있습니다.계속 진행하시겠습니까?"이로 인해 더 자주 커밋을 수행하도록 요구되었지만, 파손은 발생하지 않았습니다.
- POM, Eclipse 컴파일러 및 Eclipse Project Facets에서 JDK를 1.7에서 1.8로 업그레이드합니다.
다음 Maven 종속성을 업데이트합니다.
<dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.4</version> <scope>provided</scope> </dependency>
... 대상:
<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.0</version> <scope>provided</scope> </dependency>
...그리고...
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.2.4</version>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>2.2.4</version>
</dependency>
... 대상:
<dependency>
<groupId>javax.faces</groupId>
<artifactId>javax.faces-api</artifactId>
<version>2.3</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.faces</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>javax.enterprise</groupId>
<artifactId>cdi-api</artifactId>
<version>2.0</version>
</dependency>
다음 위치에서 web.xml 네임스페이스 선언을 업데이트해야 했습니다.
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
... 대상:
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
Project Facets -> Dynamic Web Module을 2.5에서 3.0으로 업데이트해야 했습니다.3.1을 시도했지만 오류가 발생했습니다.
이 과정에서 이 게시물의 제목에 "Cannot change of project facet Dynamic Web Module to 3.0"이라는 오류가 자주 발생했으며, Eclipse는 프로젝트 컴파일이나 프로젝트 패싯에서의 JSF 2.3 제공을 거부했습니다.org.eclipse 편집할 때.wst.common.project.facet.core.xml 파일은 지시에 따라 사라졌고 Eclipse는 프로젝트 패싯에서 JSF 2.3을 제공했으며 프로젝트는 Tomcat 9.0.8에서 정상적으로 컴파일되어 실행되었습니다.그러나 Project Facets는 여전히 "프로젝트 facet jst.jsf 버전 2.3의 구현을 찾을 수 없었습니다.기능은 한정되어 있습니다.이것은 단순히 자동 완성 및 기타 이클립스 기능을 이용할 수 없다는 것을 의미한다고 생각합니다.이는 POM에서 선언된 JSF 2.3 구현을 찾을 수 없기 때문입니다.
이게 도움이 됐으면 좋겠네요.구글 검색은 알리 바삼과 간접적으로 도움이 된 BalusC의 게시물만 제공했다.
제 경험을 공유하려고 합니다만, Dynamic Web Module이 잠겨 있습니다.다음 순서로 해결하겠습니다.
첫번째
- [ Project ]> [ Properties ]> [ Project Facets ]> [ Dynamic Web Module ]> [ Unlock ]> [ Apply ]를 오른쪽 클릭하여 닫습니다.
둘째
- [ Project ]> [ Maven ]> [ Update Project ]> [ OK ]를 오른쪽 클릭합니다.
언급URL : https://stackoverflow.com/questions/18122336/cannot-change-version-of-project-facet-dynamic-web-module-to-3-0
'programing' 카테고리의 다른 글
텍스트 영역의 스크롤 하이트의 올바른 값을 얻을 수 없습니다(VueJs, Vuetify). (0) | 2022.07.11 |
---|---|
Spring Data JPA에 사용자 지정 메서드를 추가하는 방법 (0) | 2022.07.10 |
C/C++에서 0 사이즈의 어레이를 정의하면 어떻게 됩니까? (0) | 2022.07.10 |
_vuex.default.store가 생성자가 아닙니다. (0) | 2022.07.10 |
트램펄린 함수가 뭐죠? (0) | 2022.07.10 |