Google app engine 如何在jvmFlags中为Gradle中的appengineRun使用projectDir?

Google app engine 如何在jvmFlags中为Gradle中的appengineRun使用projectDir?,google-app-engine,gradle,Google App Engine,Gradle,我试图在指定appEngine本地数据存储的路径时使用projectDir Gradle属性。我认为这会奏效: appengine { run { jvmFlags = [ "-Xdebug", "-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9998", "-Ddatastore.backing_store=$projectDir

我试图在指定appEngine本地数据存储的路径时使用projectDir Gradle属性。我认为这会奏效:

appengine {
    run {
        jvmFlags = [
            "-Xdebug", 
            "-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9998",
            "-Ddatastore.backing_store=$projectDir/dev/db.bin"
        ]
    }
}

我尝试过使用$projectDir、${projectDir}、$project.projectDir和${project.projectDir},但似乎都不起作用。它们要么抛出java.lang.ArrayStoreException(无错误消息)错误,要么仅使用指定的实际字符串(例如${projectDir}/dev/db.bin)作为数据存储的路径


在使用Google的appengine插件(appengine Gradle plugin)时,如何引用JVMLags参数的Gradle项目目录路径

要在JVMGLAGS数组中使用projectDir Gradle属性,必须使用该属性将文本强制转换为字符串。也许其他人确切地知道原因,因为插件的源在插件任务中使用了JVMLAGES属性的列表类型。在任何情况下,我基本上在文本的末尾添加了toString()方法,如下所示

appengine {
    run {
        jvmFlags = [
            "-Xdebug", 
            "-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9998",
            "-Ddatastore.backing_store=$projectDir/dev/db.bin".toString()
        ]
    }
}