web-dev-qa-db-ja.com

Eclipse Tomcatが更新されない

Eclipseを使用して、SpringMVCとTomcatでアプリケーションを開発しています。問題は、サーバーが私が行っている変更を更新しないことです。

一例:

@RequestMapping(value = "test", method = RequestMethod.GET)
    public ModelAndView test(){

        ModelAndView mv = new ModelAndView("test");                 
        System.out.println("test");
        return mv;
    }

マップされたURLにアクセスするたびに、Eclipseはコンソールにテストを出力します。 printlnをコメントアウトしても、同じ結果が得られます。

問題を修正する試み:

  • クリーンなTomcatディレクトリ
  • サーバーを再起動します
  • 日食を閉じる
  • [サーバー]タブでプロジェクトを追加/削除する
  • メソッドが使用しているJSPを削除する
  • 異なるブラウザ

すべて影響なし。 Tomcatがコードで行った変更を更新していないようです。

11
Mauro M

Eclipse Tomcatを自動的に更新またはホットデプロイするには、サーバー構成に特定の変更を加える必要があります。

手順は次のとおりです。

  1. Tomcat Serverビューをダブルクリックします"publishing"ビューの"Overview"タブを参照してください。 "Automatically publish when resources change"が選択されています。 “hot deploy”リソース(JSP、XML、プロパティファイルなど)をサポートするには、これがデフォルトのオプションである必要があります。

  2. Tomcatプラグインページで"Modules"ビューをクリックし、モジュールを選択して[編集]ボタンをクリックし、"Auto Reload"であることを確認"Disabled"。デフォルトは有効です。

  3. DEBUGモードでプロジェクトを開始します。 Hot DeployはDEBUGモードでのみサポートされます。

12
Arpit Aggarwal

チェックする2つの事柄:

  • 展開ディレクトリ:TomcatサーバーUIで、「展開パス」の構成に従って、出力ディレクトリに読み取り/書き込みアクセス権があることを確認します(削除してもう一度公開することもできます:予期される出力リソースを確認してください/クラス)。
  • デプロイメントアセンブリ:プロジェクトのプロパティメニュー; 「デプロイメントアセンブリ」セクションで、必要なすべてのリソースを公開していることを確認します。たとえば、私の場合、Mavenカスタムプラグインフェーズからいくつかのアイテムをダウンロード/生成し、このリソースはデフォルトでは公開されません。ここにいくつかのターゲットサブディレクトリを追加する必要がありました...
2
boly38

私はほぼ同じ問題を抱えていましたが、すべて試しましたが成功しませんでした。あきらめ、別の新しいワークスペースを作成したところ、問題は解決しました。理想的なソリューションではありませんが、それはオプションです。