問題タブ [hotdeploy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3596 参照

java - GrailsまたはPlayは、変更とホットリロードクラスをどのように検出しますか?

GrailsやPlayなどのフレームワークがコードの変更を検出し、アプリサーバーを再起動せずに自動的に再コンパイルをトリガーする方法の詳細を知っている人はいますか?これを簡単に実現できるGroovyのコンパイラまたはその動的な性質に固有の何かがありますか?

背景として、ビルドプロセス中にカスタムコード生成段階があり、同様の編集および更新機能を使用できるようにしたいと考えています。

全体像を把握するためにコードをふるいにかける必要がある場合でも、ポインターを事前に感謝します。

編集:サーブレットコンテナ内のアプリでこれを行うために必要なことを理解するほど、Grailsプラグインを構築するつもりはないことを明確にする必要があります。つまり、Groovyを使用していますが、Grailsは使用していません。

Edit2: Playにはこのホットリロードを可能にする特定のDEVモードがあるようです: http ://www.playframework.org/documentation/1.1.1/main#lifecycle

JRebelがクラスローダーを介して精巧なクラスバージョン管理を実行することは理解していますが、GrailsやPlayなどのWebフレームワークはそれをそのレベルに引き上げていないと思います。

0 投票する
1 に答える
1219 参照

eclipse - 大規模なコードベースの weblogic 10.3 へのホット デプロイ

build.xml が非常に多くの jar ファイルといくつかの war ファイルで構成されている非常に大きなコード ベースがあります。1 つの .class ファイルが複数の jar ファイルを参照する場合があります。コードを手動でコンパイルし、Ant を使用して .ear ファイルを weblogic 10.3 アプリケーション サーバーにデプロイします。ただし、このコンパイルと展開には約 10 ~ 15 分かかります。この部分を回避する方法はありますか?つまり、IDE から Java クラスを変更すると、bin フォルダーに .class ファイルが生成されます。サーバーを再起動せずに、変更したすべての .class ファイルを bin フォルダーから取り出して、対応する jar ファイルに直接デプロイできますか? どんな助けでも大歓迎です。

前もって感謝します、

0 投票する
2 に答える
2207 参照

tomcat - Tomcat のホット デプロイが失敗する

Tomcat でホット デプロイメントを行いたいのですが、失敗します。デプロイにはmaven tomcatプラグインを使用します。「mvn tomcat:redeploy」を呼び出すと、war が tomcat webapps フォルダーに正常にアップロードされます。しかし、元の webapplication フォルダーが正常に削除されていないため、正常に解凍されません。WEB-INF/lib の下にはまだ Oracle jdbc jar が存在します。また、手動で削除しようとすると、イベントを削除できません。1 つのプロセスがそれを使用していることがわかります。jdbc接続が解放されていないと思います。

この問題を解決するにはどうすればよいですか? ありがとう

ジェフ・チャン

0 投票する
2 に答える
1308 参照

java - Java Web アプリケーションを開発する最も効率的な方法は何ですか? より具体的に言えば、Wicket アプリですか?

ここに質問を投稿するのはこれが初めてです。質問をできるだけ明確にしようとします。

Java Web アプリケーションを開発するための最適なプロセスを見つけようとしています。何ヶ月にもわたる試行錯誤の後、私の Web 開発環境は次の部分で構成されています。

フレームワーク: Apache Wicket 1.4.16
IDE: m2eclipse プラグインを使用した eclipse Galileo
ビルド ツール: Maven 2
データ アクセス: JPA 2.0 経由の EclipseLink 2.1.1 (StaticWeave を使用)
RDBMS: jTDS を使用した MSSQL 2005 以降
DI: Google Guice 2.0
Web コンテナーの開発: Maven Jetty プラグインに組み込まれた Jetty サーバー。
対象の Web コンテナー: Tomcat 6.x 以降

Maven Jetty プラグインを使用して Web アプリケーションをテスト実行し、行精度のトレースが必要なときに JPDA を有効にします。

ソース コードに変更が加えられるたびに、アプリをリロードして有効にする必要があります。ENTER を押してリロードしても問題ありませんが、数回リロードした後 (PermGen の設定に応じて約 3 ~ 5 回)、OutOfMemoryException がスローされ、アプリをシャットダウンして再起動する必要があります。構成によって自動リロードを実現できることは知っていますが、(過剰なリロードによる) OOME の高速化につながるだけです。

グーグルで調べたところ、メモリリークの問題に関連していることがわかりました。MaxPermSize 設定を拡大しようとしましたが、リグの RAM は限られているため、非常に大きな値に設定するのは合理的ではありません。ところで、メモリ リーク検出は Tomcat 7 で導入されました。ほとんどのメモリ リークは jTDS、Google Guice、および Wicket 自体からのものであることがわかりましたが、それについては何もできません。

開発プロセスを加速するためにできることはありますか? リロード時間を短縮するには、Glassfish などのより高度な Web コンテナーに移行する必要があります (ここでは WebLogic や WebSphere を使用する余裕がありません)。

事前に感謝します。コメントは大歓迎です!

0 投票する
2 に答える
764 参照

python - Apacheでmod_wsgi、python、djangoを使用したホットデプロイメント

mod_wsgi、python_sql、mysql、djangoを使用してApacheサーバーをセットアップしました。python / mod_wsgiに関しては、すべてがオンザフライでコンパイルされると思いますが、コードを変更してもすぐには反映されないという事実を除いて、すべてが正常に機能します。

サーバーをシャットダウンして、変更を確認するために再度アクセスする必要があります。

上記の設定でどのようにホットデプロイメントを実現できるかを誰かに教えてもらえますか?

ありがとう、

ニーラジ

0 投票する
3 に答える
2351 参照

java - TomcatとEclipseのゼロターンアラウンドデプロイメント

Eclipseで開発しているときに、コードの変更をTomcatに(ほぼ瞬時に)デプロイできるようにしたいと考えています。

これまでのところ、Eclipseからの出力で、ビルドされたクラスをWEB-INF/classesWebアプリケーションのフォルダーに配置しています。

web.xmlまた、監視対象のリソースとして、再読み込み可能なコンテキストがあります。このファイルを編集/保存すると、Webアプリリロードされ、1秒強かかります。これは、新しいwarファイルを作成して完全にデプロイするよりもはるかに高速です。

ただし、私がやりたいのは、ソースファイルを編集するときに再デプロイをトリガーすることです。WEB-INF/classes.classファイルはTomcatで変更されているため、フォルダーとその子の変更を監視する必要があるようです。

Tomcatに監視対象のリソースを追加できることを読みましたが、context.xml監視対象のディレクトリを指定できない限り(サブフォルダとファイルの再帰的な監視を含む)、これは必要なものではないようです。

つまり、基本的に、私の質問は、クラスフォルダー全体を(それぞれをWatchedResource明示的に含めずに)監視して、Tomcatでの再デプロイをトリガーできるかどうかです。

touchそうでない場合、そのプロジェクトにソースファイルを保存するたびに、Eclipseをweb.xmlファイルに構成できますか?私はWindowsシステムで開発しています。:(


PS I'm not interested in the JRebel product. Any answer should be a free solution.


Update

According to the Tomcat documentation, the classes folder should be monitored by setting the context to reloadable:

Set to true if you want Catalina to monitor classes in /WEB-INF/classes/ and /WEB-INF/lib for changes, and automatically reload the web application if a change is detected.

Only changes to the web.xml seem to trigger a reload. Is this a bug or is my setup incorrect?

Also, I've read about setting the docBase attribute for a given context:

This appears to be close to what I need, as I could then republish in Eclipse quickly. My only problem is that I require several web apps / servlets to be running in Tomcat concurrently, on the same port etc.

0 投票する
1 に答える
1268 参照

jboss - jboss戦争展開リスナー

「戦争展開」イベントを取得するために実装できる単一のリスナーはありますか?

ContextServletListenerがあることを知っています。ただし、コンポーネントごとに「添付」する必要があります(いくつかのweb.xmlファイル)。

フォールバックとして、ContextServletListenerを使用する場合、最後のコンポーネントがデプロイされたことをどのように確認できますか?

補足として:終了時にホットデプロイに注意する必要があります。

0 投票する
2 に答える
1107 参照

tomcat - jboss-tomcatデプロイリスナー

すべての戦争が展開されたときにログ行を書く必要がありました。私がフックできるTomcatのデプロイヤーのオブザーバーパターンはありますか?

最初の起動時に、jBoss/Tomcatは起動に費やした正確な時間を含む行を送信します。完璧ではありません...しかし動作します。

しかし、ホットデプロイでは、通知/ログは送信/書き込みされません:(

(プロジェクトには約100個のサーブレットがあり、それらをすべて順番にリストして、最後のサーブレットが初期化されたらデプロイメントが終了したと推測するリスクがあるため、そのようなソリューションをスキップしてみましょう)

ヒントはありますか?

0 投票する
2 に答える
714 参照

jetty - Maven jetty プラグイン、これを行う方法: サーバーを再起動せずにクラスを変更します

数日前に、私の pm はアプリの開発とデバッグに maven と jetty を使用するように私たちに依頼しましたが、私はそれらを使用したことはありませんでした。今のところ、桟橋を再起動せずにアプリをホットデプロイすることはできません。毎回桟橋を再起動してアプリを変更すると、気が狂ってしまいます。多くの時間を無駄にします。

だから、誰かが私を助けてくれることを願っています、これを設定する方法。

ありがとう。

0 投票する
1 に答える
831 参照

tomcat - Tomcatを再起動せずにJava/jspの変更を反映させる

Tomcat を再起動せずに JSP/Java の変更がすぐに有効になるように、Tomcat をどのように構成すればよいですか? Java に変更を加えた後にアプリを再デプロイすると、Tomcat が自動的に再起動します。Tomcat が Web アプリを起動するのに 3 ~ 4 分かかるため、これは非常にイライラします。

バージョン: 6.5.1 GA、Apache Tomcat 6.0 を使用しています。

ありがとうございました。