15

Intellij を使用して、 liquibaseプロジェクトの Maven プラグインをリモート デバッグしようとしました。問題は、IDEA が間違ったソース コード行を強調表示していて、その理由がわかりません。デバッグしようとしているソース コードは変更されていません。Intellij で使用するソースからローカルの Maven リポジトリに手動でプラグインをビルドしてインストールしました。私の Intellij バージョンは11.1.3で、maven バージョンは3.0.4Ubuntu 12.04 で実行されています。

Maven プラグインのデバッグには、mvnDebugcomand を使用しました。誰かが何が間違っているかについて少しでも考えているなら、私にアドバイスをください。また、さらに詳しい情報が必要な場合は、お尋ねください。私はリモート デバッグにあまり慣れていないので (実際、これを行うのはこれで 2 回目です)、必要な情報が抜け落ちている可能性があります。

4

3 に答える 3

13

私にとって、IntelliJ が間違った行を強調表示するときは常に、アプリケーションの実行に使用されている JAR/クラスのバージョンがソース ファイルと異なるためです。つまり、JAR やクラスのビルドに別のバージョンのソースが使用されていました。 .

デバッグしているクラスを構築するために使用された正確なソースから作業していることを確認する必要があります。

これを確認するには、アプリケーションの起動に使用されているクラスパスを確認し、デバッグしているクラスを含む JAR ファイルまたはクラス ディレクトリを見つけ、それらが検査しているソースからビルドされたことを確認します。

サードパーティのライブラリをデバッグしている場合、多くの場合、「ソース」jar をダウンロードできることに注意してください ( IntelliJ2-IDEA get Maven-2 を参照して、ソースとドキュメントをダウンロードしてください)。

于 2012-10-10T20:10:22.610 に答える
3

この投稿に出くわし、ソースと JAR が同じコードであることを確認した場合、これが問題である可能性があります。

http://youtrack.jetbrains.com/issue/IDEA-8021

于 2013-06-15T22:31:07.407 に答える
1

リモート デバッグを行う代わりに、IntelliJ から直接プラグインを実行できます。

  1. をポイントするだけで、liquibase プラグイン プロジェクトが IntelliJ に読み込まれpom.xmlます。
  2. 選ぶEdit Configurations...
  3. +ボタンを押してにしますAdd New Configuration
  4. を選択しMavenます。 ここに画像の説明を入力
  5. Working directoryプラグインを実行するプロジェクトに を入力します。
  6. を入力しCommand lineます。process-sources、または何をしたいかによって異なりますcompileliquibase:status
  7. プレスOK
  8. Liquibase Mojo にブレークポイントを設定します。

Shiftこれで、 +を押してこの構成を開始できますF9

Maven が起動し、最後にプラグインがブレークポイントで待機していることがわかります!


pom.xmlターゲットでプラグインを正しいバージョンで定義したこと、およびプラグインを起動する前にビルドしたことを確認してください。ペインで有効Makeにすることで、それを確認できBefore Launchます。

ここに画像の説明を入力

于 2012-10-11T08:02:14.823 に答える