3

これが私が今持っているものです:

  • 複数の Maven モジュールを IntelliJ プロジェクトにインポートしました
  • Maven プロジェクト フライアウトから Maven ターゲットが正常に実行されます - war ファイルが作成されます。
  • 「Build|Make Project」からのプロジェクト作成もOKです。しかし、ここでは war は作成されず、.class ファイルだけが作成されます。
  • 別のマシンで実行されている Tomcat 6
  • パッケージのmavenゴールによって生成された戦争をリモートのTomcatに手動でデプロイしても問題ありません。
  • ローカルの Tomcat 6 インスタンスは、アプリケーション サーバーとして構成されます。このインスタンスは使用しませんが、JetBrains のドキュメントには、アプリケーション サーバーを IDE で構成するには、ローカル インスタンスが必要であると書かれています。
  • IntelliJ プロジェクトにはアーティファクトもファセットも構成されていません。
  • リモートTomcatはで実行されますJAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=1317,suspend=n,server=y

サーバーを IntelliJ でデバッグできるようにしたいと考えています。つまり、次のことを行う実行構成が必要です。

  1. それぞれの war ファイルを生成します。プロジェクトを作成しても war は生成されないため、war を生成するように変更するか、war を実行構成の一部として作成する必要があります。どちらが正しい方法かわかりません。
  2. リモート Tomcat インスタンスにデプロイまたは再デプロイします。
  3. コードをリモートでデバッグできます。

どうすればいいのですか?

編集

修正。プロジェクトの 1 つには、IntelliJ が...\src\main\webapp\WEB-INF\web.xmlファイルを認識したため、Web ファセットが自動的に追加されます。

EDIT2

これが私のリモートTomcat実行構成ダイアログです:

ここに画像の説明を入力

ドキュメントには、ダイアログに [更新時に実行] アクションオプションが必要であると記載されています。それはどこにある?

EDIT3

Spring サポートと Spring Web サービス プラグインを使用しているため、IntelliJ に追加しました。IntelliJ がそれを認識し、Spring ファセットを追加しました。

ここに画像の説明を入力

ただし、リモートの Tomcat 実行構成ダイアログには、 「更新」アクションで実行するオプションがまだありません。

私は何が欠けていますか?

EDIT4

欠落している「更新」アクションオプションで実行の謎が解決されました - IntelliJ のリモート Tomcat 実行構成で「更新」アクション オプションで実行を有効にする方法は?

4

1 に答える 1

3

1) WAR の生成

IntelliJ IDEA で war ファイルを生成するには、モジュールに「web」ファセットを定義する必要があります。

  1. [ファイル] > [プロジェクト構造] > [モジュール]に移動します
  2. モジュールを選択してください
  3. (「+」アイコンまたは Alt+Insert を使用して) Web ファセットを追加します。
  4. ファセットを構成します。(標準に従っている場合は、デフォルトで問題ないはずですが、確認してください。)

Web ファセットを定義したら、WAR アーティファクトを定義できます。

  1. プロジェクト構造ダイアログの「アーティファクト」ページに移動します。
  2. まず、爆発した戦争アーティファクトを作成する必要があります。
    1. 追加ボタンをクリックします
    2. 「Web アプリケーション: 展開済み」を選択してから、「モジュールから」を選択します。
    3. ポップアップで、モジュールを選択します。Web アプリケーション成果物が正しく定義されていることを確認してください。繰り返しますが、標準に従っている場合は、デフォルトで問題ありません。
  3. 展開されたアーティファクトが定義されたら、アーティファクトの追加ボタンをもう一度クリックし、[Web アプリケーション: Archie] を選択してから、[For {module-name}:war exposed] (または、展開されたアーティファクトを使用しなかった場合は、任意の名前を付けます)デフォルト名)。
  4. 構成を確認します。

IDEA は、ビルド時に war ファイルを作成するようになりました。

2) リモート サーバーに展開する

これは、実行 / デバッグ構成の一部として実行できます。次のセクションを参照してください。

3) リモートでデバッグする

これを行うには、実行 / デバッグ構成を作成するだけです。

  1. メニューから[実行] > [構成の編集] に移動します。
  2. [追加] アイコンをクリック (または Alt + Insert と入力) し、ポップアップ リストから [Tomcat サーバー] > [リモート] を選択します。
  3. 実行/デバッグ設定を構成します。ヘルプボタンをクリックすることをお勧めします。さまざまなオプションが何であるかを示します。(ローカル、リモート、または両方で使用できることに注意してください。) ヘルプ ページの「リモート ステージング」情報を参照してください。また、デプロイ タブを選択し、デプロイするアーティファクトを選択してください (コンテキスト パスを指定してください)。[スタートアップ/接続] タブの [デバッグ] セクションには、リモート Tomcat で構成する必要があるデバッグ接続情報が必要です。サーバ。
  4. デフォルトでは、「Make」は「Before Launch」セクションに表示されます。デプロイするアーティファクトを追加すると、起動前にもアーティファクトがビルドされることが表示されます。そうでない場合は、追加します。

定義したら、この実行 / デバッグ構成を実行できます。デバッグするには、「デバッグ」ボタンまたはショートカット (Shift+F9) を使用して起動します。これにより、プロジェクトが作成され、戦争が作成され、展開され、デバッガーが接続されます。デバッグせずに実行するだけの場合は、[実行] ボタンをクリックするか、ショートカット Shift+F10 を使用します。

于 2013-01-10T20:20:57.717 に答える