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でコードの変更をホットスワップできません。