在gradle应用程序中定义变量,用java读取

在gradle应用程序中定义变量,用java读取,java,gradle,Java,Gradle,您好,我需要在gradle中输入目录,并将其作为字符串发送到java文件: project(':MyGenerator') { apply plugin: 'application' mainClassName = "com.test.MyGenerator" outputDir = "../Example/src/main/java-gen" dependencies { compile fileTree(dir: 'libs', inclu

您好,我需要在gradle中输入目录,并将其作为字符串发送到java文件:

project(':MyGenerator') {
    apply plugin: 'application'

    mainClassName = "com.test.MyGenerator"
    outputDir = "../Example/src/main/java-gen"

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
    }

    task createDocs {
        def docs = file(outputDir)
        docs.mkdirs()
    }
}
我想将outputDir变量发送到我的java类:

public class MyGenerator {

    public static void main(String args[]) throws Exception {
        (...)
        new Generator().generateAll(schema, "../Example/src/main/java-gen");
    }
}


所以我不需要在generateAll方法中硬编码目标路径。我想让它只依赖于代码中的1个变量,这将在gradle中设置。有什么想法吗?

我在gradle中添加了:

run {
    args outputDir
}
以参数和java代码形式传递我的变量:

public class MyGenerator {

    public static void main(String args[]) throws Exception {
        (...)
        new Generator().generateAll(schema, args[0]);
    }
}
已将硬编码路径切换到args[0]