Не удается выполнить задачу отладки в NetBeans после переключения на Gradle

Я установил плагин Gradle -support в Netbeans, и я могу просто создать проект и запустить его. Когда я пытаюсь запустить в режиме отладки, я получаю следующий вывод:

Executing: gradle debug

:debug
Cannot execute debug because the property "mainClass" is not defined or empty.

BUILD SUCCESSFUL

Total time: 0.222 secs

Я использую:

 Oracle Java 1.8
 Gradle 1.12
 Netbeans 8.0
 Gradle-Support 1.3.0
 LinuxMint 16

Почему я не могу запустить свой отладчик?

Ответы

Ответ 1

Добавьте что-то вроде

if (!hasProperty('mainClass')) {
    ext.mainClass = 'com.foo.acme.Main'
}

на ваш build.gradle. Он скажет Gradle плагин, какой класс использовать при запуске приложения. Возможно, это должно настраиваться в пользовательском интерфейсе, но я не вижу его сейчас.

Ответ 2

Другим решением этой проблемы является создание новой задачи отладки. Подобно заданию gradle run, вы можете просто добавить следующую задачу в файл build.gradle:

task debug(dependsOn: classes, type: JavaExec) {
    main = project.mainClassName
    classpath = sourceSets.main.runtimeClasspath
    standardInput = System.in
    workingDir = project.assetsDir
    ignoreExitValue = true
    debug = true
}

Ответ 3

В дополнение к Radim answer можно настроить параметр mainClass в пользовательском интерфейсе Netbeans.

enter image description here

В свойствах проекта Netbeans gradle перейдите в раздел "Встроенные задачи/отладка", откройте "Наследовать" и добавьте "-Pmainclass= aaa.bbb.ccc" к аргументам.

Я думаю, это также должно быть сделано для задачи запуска.

Это та же идея, что и run/debug single file, которые уже принимают выбранный файл в качестве параметра mainClass.

Ответ 4

У меня была похожая проблема , и я смог ее исправить, установив опцию/Разное/ Gradle/Выполнение задачи/Автоматические задачи: "NetBeans не должен автоматически добавлять задачи".