私は Java EE にまったく慣れていないので、展開プロセスの遅さに苦労しています。何か間違ったことをしているのではないかと思います。コードの変更がすぐに発生するDjangoの経験があり、Java EEアプリケーションのホットデプロイは少し混乱しているようです-ホットデプロイを主張するものが複数あります(Glassfish、Eclipse manic hotdeploy、Jetty hotdeploy、JRebelなど)。
私のプロジェクトは Maven プロジェクトであり、Netbeans を使用してデプロイしています。このサイトでは、Spring、JSF、および Hibernate フレームワークを使用しています。
Netbeans では、次のスクリーンショットによると、保存時にデプロイが有効になっているようですが、pom.xml から情報を取得すると主張しているため、クリック/クリック解除はできません (ただし、pom.xml にはそのようなフィールドはありません (のみ)依存関係)))。
現在、一部のファイルへの変更はすぐに有効になるようです。- JSF ファイル - 静的ファイル
以下の変更にはデプロイが必要です: - XML ファイル - プロパティ ファイル (ローカライズ プロパティ ファイルも含む) - Java ファイル
それらへの変更は手動でデプロイする必要があり、再デプロイには 30 分かかりますが、現在は基本的に単一のユーザー クラスと承認クラスの 2 ~ 3 クラスしかありません。このプロジェクトでは、現時点ではログインのみが許可されていますが、それにもかかわらず、コンパイルには数秒かかります。コンテナー (Glassfish) は約 600 MB の RAM を消費しているようで、数回のデプロイ後に PermGen エラーが発生し、タスク マネージャーを使用して Java プロセスを強制終了する必要があります。(これは、再デプロイするたびにガベージ コレクターがリークすることに関連していると読みました。jhat を使用してプロファイルを生成したこともありますが、数千のクラス、私のクラス、Spring、Hibernate クラスなどのリストが表示されました。)
jrebel についても聞いて実行してみましたが、私の Netbeans バージョン (7.0) と互換性がないようです。
これらの問題を解決するために私にできることはありますか、それとも Java EE では、Java ファイルを変更するたびに約 1 分間待つのが普通ですか? この問題により、生産性が大幅に低下します。
アプリケーションをデプロイするときの Glassfish の出力は次のとおりです: http://pastebin.com/7FhZ6AVh