gradle: 无法执行 运行 因为 属性 "mainClass" 未定义或为空

gradle: Cannot execute run because the property "mainClass" is not defined or empty

project 从 CLI 正常构建和运行:

thufir@mordor:~/NetBeansProjects/hello_client$ 
thufir@mordor:~/NetBeansProjects/hello_client$ gradle clean build;java -jar build/libs/hello_client.jar 
:clean
:compileJava
:processResources UP-TO-DATE
:classes
:jar
:assemble
:compileTestJava UP-TO-DATE
:processTestResources UP-TO-DATE
:testClasses UP-TO-DATE
:test UP-TO-DATE
:check UP-TO-DATE
:build

BUILD SUCCESSFUL

Total time: 1.032 secs
hello world
thufir@mordor:~/NetBeansProjects/hello_client$ 

但 Netbeans 抱怨:

Executing: gradle run
Arguments: [-c, /home/thufir/NetBeansProjects/hello_client/settings.gradle]

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

BUILD SUCCESSFUL

Total time: 0.17 secs

为 Netbeans 插件设置主要 class 的正确方法是什么?

在你的build.gradle文件中,你可以先应用application插件,

apply plugin: 'application'

然后指定主要class为运行:

mainClassName = 'net.bounceme.mordor.Main'

我真的不知道这里的 Netbeans 具体内容,但是 application 插件将从命令行向 运行 提供 run 任务和必要的配置,希望也来自 Netbeans。

请参阅 Gralde 用户指南中的此部分:https://docs.gradle.org/current/userguide/application_plugin.html