2015-01-13 41 views
0

这里是我的Groovy应用程序的驱动程序类:从单个Gradle构建调用打包并运行可执行JAR?

package org.me.myapp 

class MyDriver { 
    static void main(String[] args) { 
     // The p flag was passed in and had a value of 50! 
     println String.format("The %s flag was passed in and had a value of %s!", args[0], args[1]) 
    } 
} 

我试着去增加我的摇篮建立这样我可以:

  1. 有无摇篮包了我的可执行的JAR文件;和
  2. 运行我的可执行的JAR文件,在命令行参数传递给它的主要方法

理想情况下,我将能够通过简单地运行我的应用程序:

gradle run -p 50 

,看到下面的控制台输出:

The p flag was passed in and had a value of 50! 

这里是我的build.gradle

apply plugin: 'groovy' 
apply plugin: 'eclipse' 

sourceCompatibility = '1.7' 
targetCompatibility = '1.7' 

repositories { 
    mavenCentral() 
} 

dependencies { 
    compile (
     'org.codehaus.groovy:groovy-all:2.3.9', 
     'com.google.guava:guava:18.0', 
     'com.google.inject:guice:3.0' 
    ) 
} 

task sourcesJar(type: Jar, dependsOn: classes) { 
    classifier = 'sources' 
    from sourceSets.main.allSource 
} 

task wrapper(type: Wrapper) { 
    gradleVersion = '1.11' 
} 

我需要做什么才能有Gradle包+运行我的应用程序?

回答

2

要执行run任务,您需要应用application插件。您可以在下面段添加到您build.gradle

apply plugin: 'application' 
mainClassName = "org.me.myapp.MyDriver" 
run { 
    args "p" 
    args "50" 
} 

可以更换"p""50"一些gradle这个属性名称,并通过命令行的属性,如

gradle run -Pkey=p -Pvalue=50

+0

谢谢@Sundeep古普塔(+1 ) - 我如何在代码中访问这些Gradle属性名称,比如'System.getProperty(“key”)'? – smeeb

+0

号可以访问它们直接 '运行{ ARGS键 ARGS看重 }' 性质使用设置'-P = '被添加为项目属性。 –

相关问题