Eclipseでホットデプロイを構成する方法

このチュートリアルでは、サーバーを再起動せずにホットデプロイ、ホットスワップ、またはホットコード置換をサポートするようにEclipseデバッガーを構成する方法を示します。これにより開発が大幅にスピードアップします。
環境:
-
Eclipse 4.4(古いバージョンでもサポートされています)
-
Eclipse Tomcatプラグイン
1. ホットデプロイの例
Tomcatプラグインを再起動せずにコードを変更する簡単なホットデプロイの例を確認してください。 Eclipse-Tomcatプラグインを介して単純なSpring MVC Webプロジェクトがデプロイされていると仮定します。
1.1元のコード
TaskController.class
@Controller
public class TaskController {
@RequestMapping(value = "/task", method = RequestMethod.GET)
public ModelAndView index() {
logger.debug("index()");
ModelAndView model = new ModelAndView();
model.setViewName("index");
return model;
}
//output DEBUG c.m.o.web.controller.TaskController - index()
1.2コードを変更し、他の何かをログに記録します
TaskController.class
@Controller
public class TaskController {
@RequestMapping(value = "/task", method = RequestMethod.GET)
public ModelAndView index() {
logger.debug("index() - NEW - NO RESTART");
ModelAndView model = new ModelAndView();
model.setViewName("index");
return model;
}
//output DEBUG c.m.o.web.controller.TaskController - index() - NEW - NO RESTART
2. Eclipseでのホットデプロイの構成
Eclipseでホットデプロイをサポートするには、いくつかの手順が必要です。
2.1 Tomcatプラグインをダブルクリックします。publishingタブを参照し、Automatically publish when resources changeが選択されていることを確認します。 これは、JSP、XML、およびプロパティファイルなどの「ホットデプロイ」リソースをサポートするためのデフォルトオプションです。


2.2 Tomcatプラグインページで、Moduleビューをクリックし、Auto ReloadがDisabledであることを確認します。 デフォルトは有効です。

Note
これは重要なステップです。自動リロードを無効に設定できませんでした。何かを変更するたびにTomcatサーバーが再起動されます。
2.3プロジェクトをDEBUGモードで開始します。 Hot DeployはDEBUGモードでのみサポートされています。
完了しました。
3. 制限
ホットデプロイは、メソッド実装でのみコードの変更をサポートしています。 新しいクラスまたは新しいメソッドを追加する場合、再起動が必要です。
シミュレートするには、新しいメソッドを追加してみてください。次のポップアップ画面が表示され、JVMでコードの変更をホットスワップできません。
