Eclipseでホットデプロイメントを設定する方法
このチュートリアルでは、ホット・デプロイ、ホット・スワップまたはホット・コードをサポートするようにEclipseデバッガーを構成して、サーバーを再始動することなくこの速度の開発を行う方法を説明します。
環境:
-
Eclipse 4.4(旧バージョンでもサポートされています)
-
Eclipse Tomcat Plugin
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;
}
再度アクセス:__http://localhost:8080/project/task__ ....//output DEBUG c.m.o.web.controller.TaskController - index() - NEW - NO RESTART
2. EclipseでのHot Deployの設定
Eclipseがホットデプロイをサポートするためにはいくつかの手順が必要です。
2.1
Tomcatプラグインをダブルクリックし、 `公開 ‘タブを参照し、`リソースが変更されたときに自動的に公開する `が選択されていることを確認します。
「ホットデプロイ」リソース(JSP、XML、およびプロパティファイルなど)をサポートするには、これがデフォルトのオプションである必要があります。
2.2
Tomcat Pluginページで、
Module`ビューをクリックし、
Auto Reload`が `Disabled`であることを確認してください。デフォルトは有効です。
2.3
プロジェクトを `DEBUG`モードで起動します。ホットデプロイはDEBUGモードでのみサポートされています。
完了しました。
3.制限
ホットデプロイメントは、メソッド実装でのみコードの変更をサポートしています。新しいクラスまたは新しいメソッドを追加する場合は、まだ再起動が必要です。
それをシミュレートするには、新しいメソッドを追加しようとすると、ポップアップ画面が表示され、コードの変更をJVMでホットスワップできないことを示します。
参考文献
-
リンク://intellij/intellij-idea-auto-reload-a-web-application-hot-deploy/[Intellij
IDEA – Webアプリケーションの自動リロード(ホットデプロイ)]。
http://wiki.eclipse.org/FAQ
What
is
hot
code__replace%3F[FAQ
ホットコードを置き換える?]