문제

(이클립스 3.4, 가니메데)

Eclipse에 기존 동적 웹 애플리케이션 프로젝트가 있습니다.프로젝트를 생성할 때 '구성' 드롭다운에서 'Apache Tomcat v6의 기본 구성'을 지정했습니다.

한두 달 정도 지나면 이제 구성을 Tomcat 'v5.5'로 변경하고 싶습니다.(이것은 프로덕션 서버의 Tomcat 버전입니다.)

다음 단계를 시도했지만 성공하지 못했습니다.

  • 내가 선택한 Targeted Runtimes 프로젝트 하에서 Properties
    그만큼 Tomcat v5.5 옵션이 비활성화되었으며 UI에 다음 메시지가 표시되었습니다.
    If the runtime you want to select is not displayed or is disabled you may need to uninstall one or more of the currently installed project facets.
  • 그런 다음 Uninstall Facets... 링크.
    아래의 Runtimes 탭, 만 Tomcat 6 표시됩니다.
    을 위한 Dynamic Web Module, 버전을 선택했습니다 2.4 대신에 2.5.
    아래의 Runtimes 탭, Tomcat 5.5 이제 표시됩니다.
    그러나 이제 UI에 다음 메시지가 표시되었습니다.
    Cannot change version of project facet Dynamic Web Module to 2.4.
    그만큼 Finish 버튼이 비활성화되어 막다른 골목에 이르렀습니다.

Tomcat v5.5 구성을 사용하여 새 프로젝트를 성공적으로 만들 수 있습니다.하지만 어떤 이유로 기존 프로젝트를 다운그레이드할 수는 없습니다.

해결 방법으로 새 ​​프로젝트를 만들고 이전 프로젝트의 소스 파일을 복사했습니다.그럼에도 불구하고 해결 방법은 상당히 고통스럽고 다소 어색했습니다.

프로젝트 구성을 'Tomcat 6'에서 'Tomcat 5'로 '다운그레이드'하는 방법을 설명할 수 있는 사람이 있나요?아니면 왜 이런 일이 일어났는지 밝혀줄 수 있을까요?

감사해요
피트

도움이 되었습니까?

해결책

이것은 일종의 해킹 일식이며 이를 수행하는 데 어려움을 겪을 수 있지만 다음과 같이 하면 작동합니다.

네비게이터 보기를 열고 프로젝트 아래에 .settings 폴더가 있는지 확인하고 이를 확장한 다음 파일을 엽니다. org.eclipse.wst.common.project.facet.core.xml 다음과 같은 줄이 표시되어야 합니다. <installed facet="jst.web" version="2.5"/> 2.4로 변경하고 저장하세요.

프로젝트가 2.5에 특정한 것을 사용하지 않는지 확인하면 문제가 없을 것입니다.

또한 web.xml의 구성이 올바른지 확인하세요.

<web-app version="2.4" 
        xmlns="http://java.sun.com/xml/ns/j2ee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

다른 팁

이것은 오래되었을 수 있지만 Eclipse Galilio에서 다음을 시도하고 발견했습니다.

네비게이터 보기를 열고 프로젝트 아래에 .settings 폴더가 있는지 확인하고 이를 확장한 다음 파일을 엽니다.org.eclipse.wst.common.project.facet.core.이 파일의 내용을 삭제하고 프로젝트를 마우스 오른쪽 버튼으로 클릭한 후 속성을 클릭합니다.팝업 창에서 Project Facats로 이동하여 런타임 탭을 클릭하고 프로젝트를 원하는 새 패싯으로 변환할 수 있습니다.

Maven을 사용하는 경우 Eclipse를 종료하고 다음을 입력합니다. >mvn eclipse:eclipse -Dwtpversion=2.0, Eclipse를 다시 시작하십시오.

죄송합니다. 충분한 담당자가 없으면 댓글을 게시할 수 없는 것 같습니다.

새로운 웹 표준의 것을 사용했는지 실제로 알 수 없기 때문에 Eclipse가 더 낮은 표준으로 안전하게 저하되는 것은 너무 어렵다고 생각합니다.따라서 그렇게 하면 프로그램이 이전 버전에서 실패할 수 있습니다.

항상 이전 버전과 호환될 수 있지만 이후 버전과 호환되지는 않습니다.

패싯 선택을 취소하고 적용하고 패싯 값을 변경하고 확인할 수 있습니다.Eclipse Helios SR1에서 작동합니다.

그래서 가장 큰 차이점은 '동적 웹 모듈'로 한다는 점입니다.

나는 그것이 당신에게도 효과가 있기를 바랍니다.

저도 똑같은거 봤는데, 웹앱 버전 값을 web.xml.그렇게 하면 이 문제가 해결될 수 있습니다.

Maven을 사용하는 경우 Maven Eclipse 플러그인을 사용하여 Eclipse 설정을 생성할 수 있습니다.

jst.web 버전의 경우 Maven Eclipse 플러그인은 프로젝트의 종속성을 고려합니다.서블릿 API 종속성이 정의된 경우:

<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>servlet-api</artifactId>
    <version>6.0.32</version>
</dependency> 

jst.web 매개변수는 6.0입니다.

<faceted-project>
  ...
  <installed facet="jst.web" version="6.0"/>
  ...
</faceted-project>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top