0

これが私のGroovyアプリのドライバークラスです:

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])
    }
}

次のことができるように、Gradle ビルドを拡張しようとしています。

  1. 実行可能 JAR に Gradle パッケージを追加します。と
  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 パッケージ + このようにアプリを実行できるようにするには、どうすればよいですか?

4

1 に答える 1

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

于 2015-01-13T11:48:44.113 に答える