0

Tomcat 6 のデバッグ中に、Tomcat と Eclipse のデプロイメントで 2 つのクラスが異なることがわかりました。Tomcat での展開では NullPOinterException が作成されますが、Eclipse ソースでは作成されません。問題は、Tomcat を起動startup.shするとエラーが発生するということです...毎回! で起動しcatalina jpda start、それに Eclipse を接続すると、特定のプロパティの値を変更しないため、AS LONG エラーが発生し、このエラーが発生します。この値を変更した後、配置フォルダーと作業ディレクトリを削除してデバッグ モードで再起動しても、エラーは発生しなくなりました。例外なし。しかし、もう一度再起動するとstartup.sh、エラーが再び表示されます。

それで、私の質問は、Tomcat または Eclipse は、リモート デバッガーで使用するために Eclipse からのソースをどこかにキャッシュ/保存しますか?

ありがとう!

4

1 に答える 1

0

Eclipse (そして、IDEA や Netbeans のようなものもあると思います) は、アプリケーションをデバッグするときに、サーバー上で実行中のコードを「保存時に」置き換えます。これは、Eclipse でクラスを変更するときにそれを保存すると、サーバー上で変更されることを意味します。コード置換とも呼ばれます。また、Tomcat は変更を catalina.out に記録すると
思いますが、サーバーを再起動すると、以前にデプロイされたクラスが取得されるため、Eclipse で変更が行われる前のクラスが取得されます。

于 2012-12-17T09:49:27.433 に答える