10

Web アプリケーションを MyEclipse から Eclipse WTP に移行しました。現在、移行後のコード ベースと Web ページに対する最初のメジャー アップグレードの最中です。率直に言って、JSP ページを保存すると再デプロイが発生することに腹を立てています。時間がかかり、バックエンド接続がセッションオブジェクトのシリアライゼーション-デシリアライゼーションに耐えられないため(修正するのは簡単ではありません)。それに加えて、JSP エディターは非常に遅いため、JavaServer Faces を使用して小さな JSP で編集内容がどこに移動するかを確認するために、エディターが追いつくように頻繁に一時停止する必要があります。検証を無効にしても役に立ちませんでした。

Eclipse 動的 Web プロジェクトはいくつかのライブラリ Eclipse プロジェクトに依存しているため、たとえば Jetty に WebRoot フォルダーを使用するように指示することはできません。いくつかの依存関係がクラスパスから欠落しているためです。

質問は:

  • ファイルが保存されるたびにすべてを再デプロイすることを意味しない Eclipse WTP システムでの作業方法 (任意の作業方法) はありますか?

Tomcat 5.5 または Jetty 6 をサーバーとして使用できます。


EDIT:JSPエディタが追いつくことができると本当にいいでしょう...


EDIT:問題のJSPページにはJSFタグ(myfaces 1.1.4、tomahawk 1.1.9)が含まれていますが、それが違いを生む場合は?

4

5 に答える 5

6

Eclipse の Tomcat サーバー設定で、オプション「公開せずにモジュールを提供する」を有効にする必要があります(これを行う方法は以下を参照してください)。

これは私が使用するソリューションであり、再公開などを行わずに JSP の変更をすぐに表示できるようにするため (Tomcat 5.5 + 通常の動的 Web プロジェクト + JSP は WebContent ディレクトリにあります)、Java アプリを開発するときに気が狂うことはありません。

これを行う方法:

  • サーバービューを開く
  • サーバーをダブルクリックしてサーバー設定を開きます
  • 「公開」セクション(右上)で、「自動的に公開しない」オプションを選択して(質問に対する他の回答で述べたように)、何かを変更したときに公開アクションを回避します
  • これは最も重要です。[サーバー オプション] セクション (左下) で、[公開せずにモジュールを提供する] オプションを選択します。再デプロイせずに変更が反映されるようになりました

更新: また、Eclipse での開発中に、依存するライブラリ (ビルド パスにあるもの) が WEB-INF/lib に「コピー」されていることを確認する必要があります (Java EE モジュールの依存関係で適切な JAR/プロジェクトを選択してこれを行います)。 Web プロジェクトの設定ダイアログのセクション)。これらすべての設定を行うと、Tomcat は WebContent ディレクトリを Web アプリのルートとしてワークスペース プロジェクトから Web アプリケーションを実行します。

楽しい

于 2010-03-19T15:04:40.933 に答える
3

別の提案を投入します。これは、より回避策です。

FileSyncプラグインを使用してbinwebrootディレクトリとサーブレット コンテナを同期できます。この方法では、ワークスペース メタデータではなく、元のインストールを使用する必要があります。次に、デバッグ モードでサーバーを起動した後、すべてがホット デプロイされます。

私はこのアプローチをglassfish 2でうまく使用しました。


もう 1 つのことは、Serversプロジェクト内のサーバーの構成オプションを確認することです (そこにフォルダーが必要です)。一部debugまたはhot-deployオプションがオフになっている可能性があります。


JSP エディターの速度については、最初に検証を無効にする必要があります。正直なところ、私の jsp ページ (jsf タグを含み、実際に facelets を使用している) には、速度に関して大きな問題はありません。おそらく、新規インストールを使用しますか?

于 2010-03-20T20:50:30.043 に答える
2

次のことが必要な場合は、Eclipse での自動公開を無効にすることができます。

  1. サーバー ビューを開きます。
  2. ビューでサーバーをダブルクリックします。これにより、サーバーの概要構成ページが表示されます。
  3. ページの [発行] セクション (右上隅) を見つけます。
  4. [自動的に公開しない] オプションを選択します。

これにより、「保存するたびに公開」の問題を回避できます。ただし、これをオフにすると、サーバーに変更を表示したいときはいつでも手動でデプロイする必要があります。

于 2010-03-12T14:04:37.270 に答える
1

これは奇妙です、これは私が経験していることではありません。Java EE 開発者用の Eclipse IDE (ビルド ID: 20090920-1017) と Tomcat 5.5.28 (および Tomcat 6.0.28) でこれを再確認しましたが、問題を再現できません:

  • Java ファイルを変更すると、コンテキストが再ロードされます ~しかし~
  • JSP を変更してもコンテキストはリロードされませ

(これは、 Eclipseでの Tomcatサーバーの特定の設定を変更することなく)。

問題は、プロジェクトまたはマシンに何らかの形で関連しているようです。マシン上のプロジェクトで発生しますか? 別のマシンで再現できますか?

于 2010-03-19T17:50:04.943 に答える
1

私のアドバイス:

Eclipse/WTP および Tomcat の最新リリース バージョンを使用していることを確認します。新しいビットを別の場所とワークスペースにダウンロードすることをお勧めします。最新かつ最高のマイルストーン/リリース候補には行かないでください... http://eclipse.org/downloads/から入手できるビットについて話しています...

最も単純な動的 Web プロジェクトで問題を再現できるかどうかを確認してください。可能であれば、Eclipse.org にバグを報告してください。最も単純なアプリで問題を再現できない場合は、アプリをこの新しい開発環境にロードして、問題が解決するかどうかを確認してください。そうでない場合、問題はプロジェクトに関連している可能性があります。

于 2010-03-18T14:38:49.627 に答える