有simple Eclipse plugin来运行Gradle,它只是使用命令行方式来启动Gradle。
什么是Gradle Analog for Maven compile and run mvn compile exec:java -Dexec.mainClass=example.Example
这样,任何带有gradle.build
的项目都可以运行。
更新:以前也有类似的问题What is the gradle equivalent of maven's exec plugin for running Java apps?,但解决方案建议更改每个项目build.gradle
package runclass;
public class RunClass {
public static void main(String[] args) {
System.out.println("app is running!");
}
}
字符串
然后执行gradle run -DmainClass=runclass.RunClass
:run FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':run'.
> No main class specified
型
5条答案
按热度按时间rta7y2nd1#
在gradle中没有与
mvn exec:java
直接等价的东西,你需要应用application
插件或者有一个JavaExec
任务。application
插件激活插件:
字符串
按如下方式配置它:
型
在命令行上,
型
JavaExec
任务定义一个任务,比如
execute
:型
要运行,编写
gradle -PmainClass=Boo execute
。型
mainClass
是在命令行动态传入的属性。classpath
被设置为拾取最新的类。如果您没有传入
mainClass
属性,这两种方法都会如预期的那样失败。型
p8h8hvxi2#
你只需要使用Gradle Application plugin:
字符串
然后简单地
gradle run
。正如Teresa所指出的,您还可以将
mainClass
配置为系统属性,并使用命令行参数运行。cfh9epnr3#
扩展First Zero的答案,我猜你想要的东西,你也可以运行
gradle build
没有错误。gradle build
和gradle -PmainClass=foo runApp
都可以使用:字符串
在这里设置默认的主类。
twh00eeo4#
你可以将其参数化并传递gradle clean build -Pprokey=再见
字符串
dhxwm5r45#
如果使用KotlinDSL和gradle 8.5(或者更新的版本),似乎我需要这样写:
如果你使用“应用程序”插件,写入
build.gradle.kts
并运行为:./gradlew run
字符串
或者,如果你使用“java”插件,它通过
JavaExec
任务类型定义了一个名为“runMe”的自定义任务,当运行./gradlew runMe
时,它做的事情和上面一样。好的一面是,如果你有更多的带有main方法的类,现在你可以编写更多的任务。型
关于JavaExec的更多信息。API文档中的groovy示例不是很有帮助.