4

私は、JSF (および特に ICEfaces) を多用する Web アプリケーションの構築を必要とするプロジェクトに初めて取り組んでいます。CSS、HTML、JSP/Java、そしてもちろん JSF など、さまざまなコードが混在しています。

私はこれをすべてEclipse内で行っており、アプリを実行するためにEclipseが起動するローカルのTomcatサーバーを使用しています。

とにかく、私はこれがかなり遅いことに気づきました。JSF の一部を変更すると、新しい結果を表示できるように Web サーバーを再起動する必要があります。多くの場合、私は単にレイアウトをいじることに興味があり、停止、再起動、更新にかかる 10 ~ 15 秒以上に夢中になります。私は 1 日に 100 回 Tomcat を再起動します。私はより迅速なターンアラウンドが必要です!

私は何か間違ったことをしていますか?これは、すべての Web 開発者にとって自然な状態ですか?

4

8 に答える 8

8

私はほぼ同じ構成で JSF でアプリケーションを開発しています (JBoss ツールを使用して Eclipse 3.3 で実行される Tomcat 5.5)。私は JSF にも Facelets を使用しています。web.xml には、自動更新で XHTML ファイルを変更できるようにするために設定できる重要なコンテキスト パラメータがあります (つまり、Tomcat を再起動して、変わります)。だから、私のweb.xmlには、これがあります:

<context-param>
    <param-name>javax.faces.FACELETS_REFRESH_PERIOD</param-name>
    <param-value>1</param-value>
</context-param>
于 2009-01-15T13:30:54.910 に答える
3

私はEclipseとMavenでJSFアプリケーションを開発しています。プログラムに変更が加えられ、その変更を保存すると自動的にリロードされます。構成ファイルを変更すると再起動する必要があります。

于 2009-01-15T18:19:27.947 に答える
0

変更を確認するためにTomcatを再起動する必要はありません。$ CATALINA_HOME / webappsにWARをコピーするだけで、アプリケーションが自動的に再デプロイされます。ただし、数秒かかります。

デプロイする方法はいくつかあります。Tomcat6のこのドキュメントを参照してください:http ://www.mbaworld.com/docs/appdev/deployment.html

于 2009-05-15T08:47:44.287 に答える
0

私はかつて同じ問題を抱えていました。JavaRevel を使用してコードを即座に再デプロイするための迅速なソリューション (非商用の場合は無料、会社で使用する場合はペニーの費用がかかります) http://www.zeroturnaround.com/javarebel/

お役に立てれば、

于 2009-08-14T10:05:43.573 に答える
0

Jboss Developer Studio (v2.0) を使用し、プロジェクトをホットデプロイに設定しています。これは、エンティティ、EJB、およびメッセージ バンドル以外の変更に対して再起動する必要がないことを意味します。ほとんどの POJO プロジェクトに最適です。

于 2009-04-07T12:13:40.513 に答える
0

更新されたマークアップ ファイルを適切な webapp ディレクトリに直接コピーすることで、少なくともレイアウト/マークアップ ビットについては、おそらくこれを回避できます。

展開された WAR ファイルを見て、マークアップ ファイルの場所を見つけます。それを直接変更するか、更新されたファイルをそこに移動することができます。後でブラウザを更新すると、マークアップが変更されます。

これを行う ANT コマンドを追加すると、おそらくこれをより速く行うことができます。私は Netbeans を扱っていますが、ANT はあまり得意ではありません (締め切りが迫っているため、理解する時間がありません)。そのため、展開された WAR ディレクトリにすべてのファイルを cp する小さなシェル スクリプトを作成しました。

ただし、Java または構成ファイルを変更した場合は、WAR を再デプロイする必要があります。実行している Tomcat のバージョンはわかりませんが、Tomcat 6 インスタンスでこれを行うには、WAR ファイルを webapps ディレクトリに移動するだけで、Tomcat がそれを取得して再デプロイします。

でも気をつけて!Tomcat 6 のホット デプロイ機能は正常に動作しますが、以前のデプロイで使用されていた PermGen メモリが正しく解放されません。したがって、数回のホット デプロイの後、Tomcat は「PermGen エラー: メモリ不足」例外をスローし始め、唯一の手段は再起動することです。

于 2009-02-18T16:09:52.500 に答える
0

CSS で遊んでいるだけなら、Firebugのようなものを使用してその場で編集し、満足したら、すべてを一度にコピーして Eclipse に貼り付けることができます。同上 HTML; 実際、JSF コンポーネントの行き先がわかっている場合は、ダミー ページを作成し、それを高速な Web 開発 IDEで編集するだけです。

通常、Web 開発では Tomcat を頻繁に再起動する必要はありません :)

于 2009-02-18T16:29:44.887 に答える
0

以前は、デザイナー ツールを使用せずに Eclipse で JSF ページを自分で開発していました (好きではありません)。デザイナー ツールで複雑な UI レイアウトを作成するのは困難です。ツールは単純なレイアウト専用です。DHTML、CSS が多い場合は、自分でページを作成する必要があります。

サーバーの再起動について: Tomcat を正しい方法で構成すると、JSP ページを変更してもサーバーの再起動は発生しません (ホット デプロイまたはこのような方法)。Bean のメソッド シグネチャを変更した場合は、もちろん再起動する必要があります。

于 2009-05-14T15:37:18.710 に答える