私は単純なSpringブートアプリケーションを持っており、rebel.xmlがなくても変更がリロードされていることに気付きましたか? そのファイルの目的は何ですか?JRebelの変更を再ロードするためにrebel.xmlを生成する必要がありますか?
答えて
JRebelのほうがrebel.xmlファイルだけではありません。
- rebel.xml:
基本的には、3つの異なる部分があります。スコープホットスワップ」の対象となっているあなたのIDEリソースのを定義する他の言葉で:このファイルはコントロールがどのファイルができます
- rebel-remote.xml:「ホットスワップ」の対象となる「コンポーネント」についてJRebelエージェントを使用する「リモートサーバー」を伝えるために必要な場合があります
- もちろん:その "リモートサーバー"自体の性質;それはちょうどあなたによってローカルに開始されたプロセスかもしれませんr IDE;別のマシン上で独立して動作するJVMも含まれます。
長いストーリー:使用方法を習得せずにこのツールを使い始めたようです。したがって、ここでの必須の答えは:行く、マニュアルをお読みください。たとえば、hereを開始します。
主なシナリオでは、リソースがロードされるコンパイラのターゲットフォルダが同じでない限り、rebel.xmlだけが必要です。アプリケーション/サーバーがリモートで実行されている特定のシナリオでは、rebel-remote.xmlとリモートサーバーの追加設定が必要です。 –
JRebelはクラスパスリソースとサーブレットリソースをビルドディレクトリに再マッピングするためにIDEで変更を加えてクラスをビルドすると、JRebelはそのビルドディレクトリの変更を検出します変更されたクラスをリロードします。
rebel.xmlファイルに関係なく、JRebelはクラスパスで見つかるすべてのディレクトリを監視します。 jar、warファイルを監視しません。 したがって、JRebelを使用してjarファイルを起動し、rebel.xmlファイルを使用しない場合、監視するディレクトリはなく、リロードできません。
rebel.xmlファイルが必要な理由です:
- JVMがJRebelはそれらを監視しまうので、クラスパスにrebel.xml内のディレクトリを追加するには、ビルドディレクトリ
- からクラスをロードするようにするには
IDE内でスタンドアロンアプリケーションを実行すると、IDEはjarファイルを実行せず、ビルドディレクトリからクラスを直接実行し、ビルドディレクトリをクラスパスに追加します。
この場合、実行されているクラスは既にビルドフォルダにあり、再ロード可能であり、変更はJRebelによって監視されるディレクトリでも発生します。このような設定にはrebel.xmlファイルは必要ありません。 IDEから起動された展開されたWebアプリケーションでも同じことが起こることがあります。
アプリがコマンドラインで実行されているかどうかを確認できます。
まず、JRebelでrebel.xmlファイルを使用せずにSpringブートjarファイルを実行すると、リロードは行われません。リロードを確認するには、rebel.xmlファイルを生成してjarにビルドする必要があります。
ただし、クラスパスにbuilddirを追加してクラスを実行すると、JRebelはrebel.xmlファイルを必要とせずにクラスをリロードする必要があります。
あなたがここからrebel.xmlファイルについての詳細を読むことができます:https://manuals.zeroturnaround.com/jrebel/standalone/config.html
- 1. 権限が変更されるたびにAWS IAMユーザアクセスキーを再生成する必要がありますか?
- 2. トランスクリプションを生成するためにビデオを再生する必要があります
- 3. Netbeans 8.2:変更を確認するためにプロジェクトを再起動する必要がありますか?
- 4. プッシュ通知のためにAppStore Provisioiningプロファイルを再生成する必要がありますか?
- 5. VBOを変更する必要がある場合、VAOを再構築する必要はありますか?
- 6. 変数でレポートを生成する必要があります
- 7. IPv6拡張ヘッダーを変更して生成する必要があります
- 8. 変数を再利用する必要がありますか?
- 9. bash/cygwin/$ PATH:$ PATHを変更するために再起動する必要はありますか?
- 10. プロパティの変更を反映するためにデータベースをいつ更新する必要がありますか?
- 11. ネイティブフレームワークが変更された場合、バインディングを再作成する必要がありますか?
- 12. ソースファイルの定数を変更すると、ライブラリを再作成する必要がありますか?
- 13. HTML変更のためにTomcatを再起動する必要があります
- 14. ARCOREでビデオを再生する必要があります
- 15. アンドロイドアプリの再生リストを作成する必要があります
- 16. アプリケーションまたはデータベースにUUIDを生成する必要がありますか?
- 17. Stringのプロトタイプを変更する必要がありますか?
- 18. デフォルトのデータベースプレフィックスを変更する必要がありますか?
- 19. 私のアプリにフォールバックするためにもう一度ブランチリンクを生成する必要がありますか?
- 20. 再編成されたソリューションを再接続する必要があります
- 21. 変更されたGPLプログラムを配布するためには、何をする必要がありますか?
- 22. ビューをあらかじめ生成した後に何をする必要があります
- 23. 抽選を変更する必要がありますか?
- 24. JSONP、JSONファイルを変更する必要がありますか?
- 25. your.package.namespace - 何を変更する必要がありますか?
- 26. データセグメントに何をロードする必要がありますか?
- 27. 埋め込みビデオを再生するにはJavaScriptを有効にする必要がありますか?
- 28. API権限を変更するには、Google Container Engineクラスターを再作成する必要はありますか?
- 29. プログラムカウンタは常に変更する必要がありますか?
- 30. このテキストエリアをポストモーダルで修正するために何を変更する必要がありますか
私の知る限りのrebel.xmlは2つの目的があります。トリガとして(そのファイルだけが含まれている成果物の変更を監視)と設定として( (再)ソースを見る)。 Springのブートがrebel.xmlを使わなくても変更を受け取ったら、私は再ロードを行うJRebelではないと思うので、JRebelエージェントなしでも実行できます。また、[rebel.xml documentation](https://manuals.zeroturnaround.com/jrebel/standalone/config.html)も見てください。 – Thomas