56

(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...次に、リンクをクリックしました。タブ
    の下には、表示のみ。 については、代わりにバージョンを選択しました。タブ の下に、表示されるようになりました。 ただし、UI に次 のメッセージが表示されるようになりました:ボタンが無効になりました - そのため行き止まりになりました。RuntimesTomcat 6
    Dynamic Web Module2.42.5
    RuntimesTomcat 5.5

    Cannot change version of project facet Dynamic Web Module to 2.4.
    Finish

Tomcat v5.5 構成で新しいプロジェクトを正常に作成できます。ただし、何らかの理由で、既存のプロジェクトをダウングレードできません。

回避策として、新しいプロジェクトを作成し、古いプロジェクトからソース ファイルをコピーしました。とはいえ、この回避策はかなり苦痛で、ややぎこちないものでした。

プロジェクト構成を「Tomcat 6」から「Tomcat 5」に「ダウングレード」する方法を誰か説明できますか? それとも、なぜこれが起こったのかを明らかにしますか?

ありがとう
ピート

4

7 に答える 7

87

これは一種のハッキング日食であり、これを行うと問題が発生する可能性がありますが、これはうまくいくはずです:

ナビゲーター ビューを開き、プロジェクトの下に .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">
于 2008-09-16T19:49:49.147 に答える
7

これは古いかもしれませんが、日食ガリリオで次のことを試してみました。

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

于 2010-03-01T14:52:08.267 に答える
5

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

于 2011-01-28T15:53:45.687 に答える
0

私は同じことを見たので、web.xml. そうすることで、これを修正できます。

于 2011-04-06T19:20:13.407 に答える
0

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

したがって、主な違いは、「動的 Web モジュール」を使用することです。

それがあなたにとってもうまくいくことを願っています。

于 2010-10-29T11:44:38.917 に答える
0

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

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

下位互換性は常に維持できますが、上位互換性は維持できません。

于 2008-09-16T23:21:40.870 に答える
-1

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>
于 2011-05-10T20:55:58.923 に答える