問題タブ [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.
tomcat - Tomcat7: Exploded war (Grails など) を使用したホット デプロイメント
Tomcat で Java/Spring Web アプリケーションの開発環境を構築しようとしています。私は最近 Grails を使用しましたが、ご覧のとおり、Grails には、Java/Groovy ファイルの変更をインターセプトして自動的に Tomcat サーバーにホット デプロイするファイル スキャナーがあります。
Grails のソース コードを調べたところ、Tomcat7 組み込みサーバーが使用されていることがわかりましたが、ホット デプロイメントがどのように機能するのか理解できません。
標準の Tomcat7 コンテキスト再デプロイ機能は使用しません。
Grails のホット デプロイメントの仕組みを知っている人はいますか?
deployment - Ofbiz のホット デプロイが起動しない
hot-deploy フォルダーに ofbiz コンポーネントを追加しました。これは動作するコンポーネントです (ブラウザで起動すると、すべて正常に動作します)。しかし、ドキュメンテーションを調べた後、ofbiz ランタイム環境が Java ファイルの新しい変更を識別し、新しく変更されたコンポーネントのホット デプロイを開始することを期待しています。
また、ofbiz_home/framework/base/config/ofbiz-containers.xmlに次のプロパティを追加しました。
これにもかかわらず、ホット デプロイは開始されず、Java ファイルで行われた変更を確認するために、ofbiz アプリケーション全体を停止して再起動する必要があります。私は何が欠けていますか?ありがとうございました!
java - Tomcat と OSGi
Tomcat インスタンス内にKarafのような OSGi コンテナを埋め込むことができるかどうか疑問に思っていました。this SO questionおよび他のいくつかの質問によると、それは可能のようですが、これを行う方法や注意すべき落とし穴/警告に関する確かな詳細を見つけることができないようです.
そう:
- OSGi コンテナーを Tomcat 内に埋め込んで、Tomcat を再起動せずにいつでも OSGi バンドルをこのコンテナーにホットデプロイできるようにすることはできますか?
- 上記の #1 に対する答えが「はい」の場合、Tomcat 内に OSGi を埋め込むと、どのシステム サービス/ポートが公開されますか? 管理者権限を持たない Java PaaS でホストされている Tomcat サーバーに OSGi をデプロイしたいので、質問します。そして、組み込みの OSGi コンテナーを Tomcat にデプロイしようとすると、ポートでのリッスンを開始しようとするか、ローカル ファイル システムに対して何かを開始しようとするかどうか疑問に思っています。この場合、セキュリティ/許可エラーが表示される可能性があります。
前もって感謝します!
osgi - OSGI Apache felix - ホットデプロイメントのサポート
ちょっとした背景: 私たちは Web 開発に OSGI の Apache Felix 実装を使用しています (Adobe CQ5 は apache felix 上に構築されています)。独自のバンドルがいくつかあり (約 10)、それぞれがプロジェクトとして構成されています。
問題: 開発ライフサイクル中に、バンドルに変更を加えてから、ant スクリプトを使用してバンドルを作成し、felix にデプロイします。開発モード中に行った変更のホット デプロイを有効にして、開発者の時間を節約する方法があるかどうか疑問に思っています。
私の調査に基づいて、バンドルへの変更についてフォルダーを監視し、それらを自動的に展開できるfelixファイルインストールを使用できます。しかし、これはまた、ant スクリプトを実行して jar ファイルをビルドし、それをファイル インストールが監視している自動デプロイ フォルダーに移動する必要があることを意味します。これを達成するためのより良い/速い方法はありますか? スクリプトは現在、クラスをコンパイルし、osgi 固有のメタデータ ファイルを作成し、クラスとメタデータを新しい jar にバンドルするのに約 10 秒 (約) かかります。Java ファイルに加えた変更が自動的にバンドルに反映されるように、ホット デプロイメントを行う方法はありますか?
どうもありがとう
eclipse - Gradle + Eclipseを使用するときにJettyでホットデプロイメントを有効にする最良の方法
mvn には慣れていますが、小規模な Web 開発プロジェクトで Gradle (v1.8) をテストしています。
Jetty Gradle プラグインが自動スキャンとホット デプロイをサポートしていることに気付いたので、有効にしました。私の目標は、Eclipse から再コンパイルし、コントローラーなどを変更するたびに Jetty にコンテキストをリロードさせることです。
ただし、主に Gradle コンパイル出力がbuild/に送られるため、これは機能しませんが、Gradle Eclipse プラグインは、すべての Eclipse 出力を/binに送信する .classpath 構成を作成します(テスト フォルダーとメイン ソース フォルダーが混在していても)。
方法はありますか?...
- 別のコンソールで graddle jettyRun を実行します。
- 変更したクラスを Eclipse に保存する (コンパイルのトリガー)
- Jetty が変更を取得し、コンテキストをリロードすることを確認します。
私の調査によると、3 つの回避策を特定しましたが、上記の質問を解決するものはありません (関連するコメントやその他の推奨事項がある場合に備えて投稿しています)。
- Gradle Eclipse 構成を微調整して、テストとメイン ビルドの出力を、Gradle が使用する同じディレクトリに送信します (こちらのパターンを使用)。これは、互いに干渉する可能性のある 2 つの異なるコンパイル システムを使用することを意味するため、一部の人には推奨されません。
- Gradle eclipse-wtp プラグインを使用して WTP2 構成を生成し、Eclipse の「Run AS -> Run on Server」を使用します。これにより、ホット デプロイ / 反復の目標が達成され、両方のシステム (IDE と Gradle) が分離された状態に保たれます。ただし、Eclipse 上にサーバーをセットアップする必要があります。
- (実際には回避策ではありません): Spring の Eclipse ビルド (STS) Gradle 統合をテストしましたが、統合はプロジェクトのセットアップに重点を置いているようで、Gradle ビルドは自動的にトリガーできますが、Eclipse コンパイルはまだ bin/ にリダイレクトされます。 .
java - プロジェクト ステージが Production の場合に、変更を JSF ページ (xhtml) に再デプロイする
Productionプロジェクトステージで実行中に実行できないいくつかのことをテストするために、JSFプロジェクトステージをに設定しましDevelopmentた。jsf ページ (つまりxhtmls) に変更を加えると、Compile on save&Deploy on saveが両方とも有効になっているにもかかわらず、変更がすぐには表示されません。代わりに、xhtml の小さな変更のために、クリーンなプロジェクトを実行し、プロジェクトを再構築して再デプロイする必要があります。これには確かに時間がかかります。
では、変更をより速く表示するために this(:P) よりも良い方法はありますか?
また、私はJRebelを使用していますが、プロダクションモードが設定されていても、それを開発モードにオーバーライドしても、プロダクションモードでは動作しません。
jsp - tomcat7-maven-plugin - jsp/html がデプロイされていない
tomcat プラグイン「tomcat7-maven-plugin」を使用して、組み込みの tomcat で動作する「ホット デプロイ」を取得しようとしています (tomcat7:run を使用)。
私はEclipseで典型的なMaven Webアプリ構成を使用しています。これからは、Java クラスをデバッグでき、コードの変更時に自動的に再デプロイされます。
しかし、私の html と jsp は *再* デプロイされません(${basedir}/src/main/webapp)。
(原型「Thymeleaf Spring Maven Archetype」を使用しています)。
変更時にhtmlとjspを再デプロイする方法はありますか?
jetty - Jetty のホット再デプロイは、サービスを中断することなく機能しますか?
Jetty 9.0.5 で Web アプリを実行しています (更新できます。これを書いている時点では 9.1.2 が最新です)。Jetty ドキュメントで説明され、 で定義されている通常の Web アプリ デプロイヤーがありetc/jetty-deploy.xmlます。私は Jetty xml ファイルを使用して Web アプリのコンテキストを定義しているため、新しいコードを運用サーバーにプッシュするときは、Jetty xml ファイルを使用して新しいmyapp.warファイルをアップロードし、rsyncそのファイルをタッチしmyapp.xmlます。これは非常にうまく機能しますが、アプリが何らかの異常をスローする数秒があり、NullPointerException一部のユーザーは静的に提供されるファイル (.js戦争からのファイル) が破損しているように見えるため、アプリのブラウザーのキャッシュをフラッシュする必要があります。再び働く。
これは完全に機能するはずですか、それともこのような短いデッド タイムが予想されますか?
私はディレクトリに配置せずmyapp.war(webappsそこにあるのmyapp.xmlはそこだけです)explodeWars、trueデプロイヤーにいます。
java - Web アプリケーション モジュールのホットプラグ
サーブレット コンテナー (Tomcat) で Web アプリケーションを実行しています。私の計画は、実行中の Web アプリケーションに追加のモジュールを追加および削除するために、ホット プラグを使用することです。これらの追加モジュールには、いくつかのビジネス ロジックが含まれているだけで、サーブレット、JSP ページ、HTML ファイルなどの Web 関連のものは含まれていません。
これを行う最善の方法は何ですか?
OSGiを使うために、TomcatからGlassfishに乗り換えようと考えました。また、Tomcat で Apache Felix を使用することも考えました。
代替手段は何ですか?