2012-10-10 4 views
11

Intellijでliquibaseプロジェクトのmavenプラグインをリモートデバッグしようとしました。問題は、IDEAが間違ったソースコード行を強調しているため、なぜその理由が分からないということです。 デバッグしようとしているソースコードはそのままです。私は手動で構築し、Intellijで使用しているソースからローカルMavenリポジトリにプラグインをインストールしました。 私のIntellijバージョンは11.1.3で、mavenバージョンは3.0.4で、Ubuntu 12.04で動作します。リモートJavaアプリケーションをデバッグするときIntelliJが間違った行を処理する

私はmvnDebugコマンドを使用してmavenプラグインをデバッグしました。 誰かが何が間違っているかについてちょっとした考えを持っているのであれば、私にいくつかアドバイスをお願いします。さらに詳しい情報が必要な場合は、お尋ねください。私はあまりにもリモートデバッグに慣れていない(実際これは私がこれをやった2回目です)ので、私はあなたが必要とするいくつかの情報をスリップするかもしれません。

答えて

13

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

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

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

サードパーティのライブラリをデバッグするときには、しばしば「ソース」jarをダウンロードできます(IntelliJ2-IDEA get Maven-2 to download source and documentationを参照)。

+0

ありがとう、男です!私の場合、プロジェクトをビルドするために使用されたプラグインのバージョンは、デバッグしようとしていたソースと同じではありませんでした。プロジェクトがビルドされているときに、どのプラグインバージョンが使用されているかを確認しないことは、私にとっては間違ったことでした。私は手動でビルドバージョンを使用すると思った。 –

1

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

  1. pom.xmlを指すことによって、IntelliJにliquibaseプラグインプロジェクトを読み込ませてください。
  2. Edit Configurations...
  3. 押しAdd New Configurationから+ボタンを選択します。
  4. Mavenを選択します。 enter image description here
  5. プラグインを実行するプロジェクトにWorking directoryと入力します。
  6. Command lineと入力してください。何をしたいかによって、process-sourcescompileまたはliquibase:statusになる可能性があります。
  7. プレスOK
  8. Liquibase Mojoでブレークポイントを設定します。

今、あなたはShiftキー + F9を押すと、この設定を開始することができます。

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


あなたがそれを起動する前に、プラグインを構築することも正しいバージョンを使用してターゲットpom.xmlにプラグインを定義していることを確認します。 Before LaunchペインでMakeを有効にすることで確実に確認できます。

enter image description here

+0

非常にうまく動作します。シンプルで高速ですが、リモートデバッグはすべてがローカルマシン上にある場合は非常に高速です。 –

+0

状況によりますかと思います。あなたがプラグインを開発しているなら、このアプローチはより良いターンアラウンドタイムを持っています。しかし、あなたがすでに開発したプラグインを使用している場合は、他の解決策が良いかもしれません。 – maba

3

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

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

+0

ありがとう!非常に有益な投稿でした! –

関連する問題