Eclipseでホットデプロイメントを設定する方法

eclipse-luna、width = 319、height = 75

このチュートリアルでは、ホット・デプロイ、ホット・スワップまたはホット・コードをサポートするようにEclipseデバッガーを構成して、サーバーを再始動することなくこの速度の開発を行う方法を説明します。

環境:

  1. Eclipse 4.4(旧バージョンでもサポートされています)

  2. 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、およびプロパティファイルなど)をサポートするには、これがデフォルトのオプションである必要があります。

eclipse-tomcat-hot-example1、width = 565、height = 254

eclipse-tomcat-hot-deploy-example2、width = 604、height = 262

2.2 Tomcat Pluginページで、 Module`ビューをクリックし、 Auto Reload`が `Disabled`であることを確認してください。デフォルトは有効です。

eclipse-tomcat-hot-deploy-example3、width = 640、height = 379

2.3 プロジェクトを `DEBUG`モードで起動します。ホットデプロイはDEBUGモードでのみサポートされています。

完了しました。

3.制限

ホットデプロイメントは、メソッド実装でのみコードの変更をサポートしています。新しいクラスまたは新しいメソッドを追加する場合は、まだ再起動が必要です。

それをシミュレートするには、新しいメソッドを追加しようとすると、ポップアップ画面が表示され、コードの変更をJVMでホットスワップできないことを示します。

eclipse-hot-swap-failed、width = 501、height = 479

参考文献

  1. リンク://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

ホットコードを置き換える?]

前の投稿:TestNG - 複数のテストクラスを実行する(スイートテスト)
次の投稿:警告:DESはオフになっています - 解決策