Program Club

Eclipse- '프로젝트 패싯'을 Tomcat 6에서 Tomcat 5.5로 어떻게 변경할 수 있습니까?

proclub 2020. 12. 30. 08:22
반응형

Eclipse- '프로젝트 패싯'을 Tomcat 6에서 Tomcat 5.5로 어떻게 변경할 수 있습니까?


(Eclipse 3.4, 가니메데)

Eclipse에 기존 Dynamic Web Application 프로젝트가 있습니다. 프로젝트를 만들 때 '구성'드롭 다운에서 'Apache Tomcat v6의 기본 구성'을 지정했습니다.

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

다음 단계를 시도했습니다 (성공하지 않음).

  • 내가 선택한 Targeted Runtimes프로젝트 아래에 옵션이 비활성화했다 및 UI가이 메시지를 표시 :Properties
    Tomcat v5.5
    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. 이제
    아래에 표시됩니다. 그러나 이제 UI에 다음 메시지가 표시 되었습니다 . 버튼이 비활성화되었으므로 막 다른 골목에 도달했습니다.RuntimesTomcat 5.5

    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">

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

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


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


죄송합니다. 담당자가 충분하지 않으면 댓글을 올릴 수 없어서 ...

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

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


패싯 선택 취소, 적용, 패싯 값 변경 및 확인할 수 있습니다. Eclipse Helios SR1에서 저에게 효과적입니다.

그래서 가장 큰 차이점은 'Dynamic Web Module'을 사용한다는 것입니다.

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


똑같은 것을 본 다음 .NET에서 웹 앱 버전 값을 변경했습니다 web.xml. 이렇게하면이 문제를 해결할 수 있습니다.


maven을 사용하는 경우 maven 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>

참조 URL : https://stackoverflow.com/questions/75786/eclipse-how-can-i-change-a-project-facet-from-tomcat-6-to-tomcat-5-5

반응형