web-dev-qa-db-ja.com

Eclipse-「Project Facet」をTomcat 6からTomcat 5.5に変更するにはどうすればよいですか?

(Eclipse 3.4、ガニメデ)

Eclipseに既存の動的Webアプリケーションプロジェクトがあります。プロジェクトを作成したときに、「構成」ドロップダウンで「Apache Tomcat v6のデフォルト構成」を指定しました。

あと1か月または2か月後に、構成を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」にプロジェクト構成を「ダウングレード」する方法を誰もが説明できますか?または、なぜこれが起こったのかについていくつかの光を当てたのでしょうか?

ありがとう
ピート

56
user13360

これは一種のEclipseのハッキングであり、これを行うのに苦労する可能性がありますが、これは機能するはずです:

ナビゲータービューを開き、プロジェクトの下に.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">
87
William

これは古いかもしれませんが、Eclipse Galilioで次のことを試しました。

ナビゲータービューを開き、プロジェクトの下に.settingsフォルダーがあることを確認して展開し、ファイルを開きます。org.Eclipse.wst.common.project.facet.core.Deleteこのファイルの内容を削除し、プロジェクトを右クリックしますプロパティをクリックします。ポップアップウィンドウの[Project Facats]に移動して、ランタイムタブをクリックし、プロジェクトを目的の新しいファセットに変換できます。

7
Venkat

mavenを使用している場合は、Eclipseをシャットダウンし、>mvn Eclipse:eclipse -Dwtpversion=2.0、Eclipseを再起動します。

5
Karthik

ファセットのチェックを解除して適用し、ファセットの値を変更して確認することができます。 Eclipse Helios SR1で動作します。

主な違いは、「動的Webモジュール」でそれを行うことです。

私もそれがあなたのために働くことを願っています。

0
xgomez

同じことを見た後、web.xmlのweb-appバージョン値を変更しました。そうすることでこれを修正できます。

0
sarabrab

申し訳ありませんが、十分な担当者なしではコメントを投稿できないようです...

新しいWeb標準の何かを使用したかどうかを実際に知ることができないため、Eclipseが安全に低い標準に低下するのは難しすぎると思います。そのため、それが許可されている場合、プログラムが古いバージョンで失敗する可能性があります。

常に下位互換性がありますが、上位互換性はありません。

0
William