Gradle执行Java类(不修改build.gradle)
有一个简单的Eclipse插件来运行Gradle,它只是使用命令行方式来启动gradle。
什么是graven模拟maven编译和运行mvn compile exec:java -Dexec.mainClass=example.Example 
 这样任何具有gradle.build项目都可以运行。 
 更新:有类似的问题什么是运行Java应用程序的Maven的exec插件gradle等价物? 问之前,但解决schemebuild议改变每个项目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 
	
 使用JavaExec 。 作为一个例子把以下内容放在build.gradle 
 task execute(type:JavaExec) { main = mainClass classpath = sourceSets.main.runtimeClasspath } 
 运行gradle -PmainClass=Boo execute 。 你得到 
 $ gradle -PmainClass=Boo execute :compileJava :compileGroovy UP-TO-DATE :processResources UP-TO-DATE :classes :execute I am BOO! 
  mainClass是通过命令行dynamic传递的属性。  classpath被设置为拾取最新的类。 
 如果您不传递mainClass属性, mainClass预期方式失败。 
 $ gradle execute FAILURE: Build failed with an exception. * Where: Build file 'xxxx/build.gradle' line: 4 * What went wrong: A problem occurred evaluating root project 'Foo'. > Could not find property 'mainClass' on task ':execute'. 
从评论更新:
 在gradle中没有mvn exec:java等价物,您需要应用应用程序插件或者有一个JavaExec任务。 
你只需要使用Gradle Application插件 :
 apply plugin:'application' mainClassName = "org.gradle.sample.Main" 
 然后简单地gradle run 。 
 正如Teresa所指出的那样,您还可以将mainClassNameconfiguration为系统属性,并使用命令行参数运行。 
 在第一个零的答案扩展,我猜你想要的东西,你也可以运行gradle build没有错误。 
  gradle build和gradle -PmainClass=foo runApp使用这个: 
 task runApp(type:JavaExec) { classpath = sourceSets.main.runtimeClasspath main = project.hasProperty("mainClass") ? project.getProperty("mainClass") : "package.MyDefaultMain" } 
你在哪里设置你的默认主类。