最初の考えでは、なぜあなたが問題に直面するのか、私にはよくわかりません。おそらく、Eclipse のレイアウト方法は、あまりにも複雑で気が遠くなるようなものです。
私の Eclipse では、GWT のデバッグ中にデフォルトの桟橋をサーバーとして使用していました。ただし、Tomcat や JBoss にデプロイすると、jetty で捕捉されない問題がいくつかありました。
また、Tomcat または JBoss インスタンスを Eclipse に追加し、アプリをそれらのサーバー インスタンスに追加すると、デバッグはすぐに機能しました。重要でありながら単純な情報が 1 つ欠けていませんか?
以下がミッシングリンクを埋めると仮定しましょう...
サーバー インスタンスの検索/追加:
Eclipse のパッケージ エクスプローラー (またはプロジェクト エクスプローラー) には、個人用プロジェクトの他に、"サーバー" プロジェクトが表示されます。その下には、すべての Tomcat インスタンスをリストする構成ノードがあります。
パッケージ エクスプローラーに「サーバー」ノードが表示されない場合は、ワーキング セット フィルターが原因である可能性があります。(そして、ワーキング セットが何であるかわからない場合は、Eclipse での器用さを強化する必要があると思います)。
まだ Tomcat インスタンスがない場合は、「servers」プロジェクトを右クリックして新しいサーバーを追加します (パッケージ エクスプローラー -> 新規 -> サーバー ...)。Tomcat ホームの場所を尋ねられます。そして、サーバーインスタンスの目的のポート番号。もちろん、ポート番号が、ボックスの他の inet 操作で使用されるポートと衝突しないようにする必要があります。
ポート番号の 2 回目の設定
パッケージ エクスプローラーのサーバー インスタンス ノードには、新しい Tomcat インスタンスの作成時に指定したポート番号と一致するようにポート番号を設定するために編集する必要があるファイルがあります。編集するファイルがわからない場合は、作成した Tomcat のバージョンを調べて、どのファイルにポート番号の構成が含まれているかを調べる必要があります。
1 回目は、サーバー インスタンスが実行されていると予想される場所とポートを Eclipse に通知するため、ポートを 2 回目に構成する必要があります。2 回目は、サーバー インスタンス自体を構成することです。
アプリをサーバーに追加する
ただし、「サーバー」プロジェクトのノードでは、Tomcat インスタンスのみを構成できます。Tomcat インスタンスをさらに構成するための「サーバー ビュー」と呼ばれる別のビューがあります。Window->Show View->Server->Servers から Server ビューを有効にする必要があります。
「サーバー ビュー」でサーバー インスタンスを右クリックして、アプリを追加します。
Maven で生成されたターゲットからデバッグを実行します。
war 構造をデバッグして、war で欠落している jar を見つけたい場合があります。そして、war から jar を段階的に削除して、サーバーによって既に提供されている jar を見つけます。JBoss はすでに多くの jar を提供しているため、開発用の jar が JBoss が期待するバージョンであるかどうかを確認する必要があります。
ワークスペースに別の Eclipse プロジェクトを作成し、2 番目のプロジェクトに Eclipse フォルダーのソフトリンクを作成して、最初のプロジェクトの Maven 生成ターゲットを指すようにします。そして、target/{maven generated webapp directory} を 2 番目のプロジェクトの webapp ディレクトリとして指定します。「maven によって生成された webapp ディレクトリ」とは、Maven によって生成された解凍された中間ディレクトリです (Maven によって圧縮された war ファイルを生成するために使用されます)。
これは、Eclipse 開発ボックスで実稼働 tomcat/jboss サーバーを忠実に複製できる場合、実稼働 war をデバッグする最もクリーンな方法です。
あなたがJBossを好むなら。
どういうわけか、パッケージ/プロジェクト エクスプローラーの「サーバー」ノードに JBoss 構成ノードが表示されません。それらを編集するには、JBoss インストール ディレクトリに移動する必要があります。
リモートデバッグ。
運用ボックスまたは別のボックスにあるサーバーでアプリをデバッグする場合は、デバッグ中にその tomcat インスタンスを開始する必要があります。あなたはそれについて熟読するべきです。デバッグ ポートを指定する必要があります。
次に、Eclipse の [Run] -> [Debug Configuration] -> [Remote Java Application] で、アプリとデバッグ ポートを指定します。
初めてデバッグするとき、特にアプリに複数のプロジェクトの依存関係がある場合、Eclipse はソース ファイルがどこにあるかを "認識しない" 場合があります。(Eclipse がプロジェクトのリストからソース ファイルを検索できないのはなぜですか?) とにかく、ソース ファイルの場所を指定する必要があります。そして、デバッグが別のプロジェクトの依存関係にトラバースするときに、ソース ファイルの場所を上書きする必要があります。
それで、ほら!それが、デバッグを機能させる方法です。本番環境の問題を診断する必要がない限り、リモート デバッグはできるだけ避けることをお勧めします。リモート デバッグを行っている場合を除き、war をローカル サーバーにデプロイしようとせず、単にプロジェクトをサーバー インスタンスに関連付けることに依存してください。
エクリプスは難しすぎる
Eclipse があまりにも複雑で、その機能をくまなく調べなければならないことはわかっています。あなたはそれに耐えなければなりません。Eclipse のメニューとビューは、ユーザー中心ではなく、プラグイン プログラマ中心に最適化されているようです。
たとえば、新しいソフトウェアをインストールするために「ヘルプ」にアクセスする必要があるのはなぜですか? 以前は、「ヘルプ -> 新しいソフトウェアのインストール」が、新しいソフトウェアのインストールに関する説明書であると思っていました。
私が Package Explorer でサーバー インスタンスにアプリを追加できるように、Eclipse チームが操作を組み合わせなかったのは残念です (そして私を悩ませています)。なぜだめですか?ユーザーとして、サーバーを構成するためのエントリ ポイントは 1 つだけだと思います。
混乱を軽減するために、Springsource のバージョンの Eclipse (STS) をダウンロードしてインストールすることを人々に勧めています。これは同じ Eclipse ですが、STS には必須パーツがインストールされており、互換性のあるインストール可能なプラグインを指すダッシュボードがある点が異なります。Tomcat は VMware tc Server としてプリインストールされています。また、ビューはサーバー インスタンスを表示するように正しく構成されています。また、正しく実行可能な Eclipse-Maven ブリッジ プラグインがプリインストールされています。