web-dev-qa-db-ja.com

「gradle run」を実行して、デバッグJavaプログラム

EclipseにGradleプロジェクトがありますIDEおよびオプションgradle runを使用して、Javaアプリケーションを実行します。

Javaコードにエラーがあり、デバッグしたいのですが、gradle runを実行すると、デバッガーがブレークポイントで停止しません。メニュー、gradle debugのようなものはありません。

アプリケーションをデバッグするにはどうすればよいですか?

17
Sky Dog

受け入れられた答えは機能するはずですが、はるかに簡単な方法で達成できます。


  1. ただ走れ gradle run --debug-jvm。これにより、アプリケーションがリモートデバッグモードで起動し、Eclipseなどのリモートデバッガーをポート5005

  2. EclipseをIDEとして使用する場合:Eclipseで、プロジェクト->としてデバッグ...->デバッグ構成->リモートJava Application。As Host set localhost、スポーツ 5005、そしてあなたは自由に行くことができます。


詳細については、 テストについては公式のGradle Java plugin doc を参照してください。

[...]は、呼び出し時に--debug-jvmタスクオプションを使用して有効にすることもできます(Gradle 1.12以降)。

27
Markus Weninger

EclipseでGradleプロジェクトをデバッグするには、次の手順に従います。

ステップ1
これらをbuild.gradleファイル:

tasks.withType(JavaExec) {
    if (System.getProperty('DEBUG', 'false') == 'true') {
        jvmArgs '-Xdebug', '-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=9099'
    }
}

ステップ2

プロジェクト実行のルートから:

gradle -DDEBUG=true run

コンソールに次のようなものが表示されます。

Listening for transport dt_socket at address: 9099

ステップ3

次に、ソースファイルのEclipseにブレークポイントを設定します。

ステップ4

最後のステップとして、Eclipseで[プロジェクト]> [デバッグ]> [デバッグ構成]> [リモートJava application。

そこで、これらのフィールドを設定する必要があります。

1. Project (this should be set to name of your Eclipse project)
2. Host (here it's localhost)
3. Port (in this example it will be 9099)

「デバッグ」をクリックします。これで、Eclipseでブレークポイントに達するたびにプログラムが停止します。

サンプルプロジェクトでこれらの手順の詳細を確認するには、 GitHubのこのgradleサンプル を参照してください。

27
Ayon Nahiyan

Build.gradleファイルに次のコードを追加しても、デバッグモードでgradleタスクを実行できませんでした。

tasks.withType(JavaExec) {
    if (System.getProperty('DEBUG', 'false') == 'true') {
        jvmArgs '-Xdebug', '-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005'
    }
}

代わりに、次の手順を実行し、デバッグモードで自動的に実行することに成功しました。

  1. 必要なことは、$ GRADLE_HOME/binに移動することだけです。
  2. OSに応じてファイルgradleまたはgradle.batを編集します。
  3. OS固有の方法でJVMパラメータを設定します。例えば:

gradle(UNIX)の場合:

DEFAULT_JVM_OPTS="-Xdebug-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"

gradle.bat(NT)の場合:

set DEFAULT_JVM_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005

。 4.コンソールからGradleコマンドを実行します。

0
Jad Gh