指定我的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)时,如何为jvmFlags参数引用Gradle项目目录路径?

最佳答案

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

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

07-24 18:25