这是因为每次您使用 Gradle 工具窗口在 IntelliJ 中启动任务时,它都会创建/覆盖该任务的启动配置。
基本上,我只需要从 Gradle 工具窗口运行一次。然后我进入失败的启动配置(显示有问题)并在 VM 选项中输入系统属性。从那以后,我需要使用 Launch Config 而不是 Gradle 工具窗口来执行任务。
更新:更好的解决方案:
- 首选项->构建、执行、部署->构建工具-> Gradle->Gradle VM选项
- 在那里添加您的系统属性(即
-Dappengine.sdk.root=/opt/google/google-cloud-sdk/platform/appengine-java-sdk
)
这样做可以防止它们在 Gradle 工具窗口生成的启动配置中被覆盖/丢失。
另一件需要注意的是,使用 Gradle 工具窗口会导致命令在无法访问环境变量的情况下运行。这可能会导致依赖于这些环境变量的构建出现很多问题。
我今天用 appengine-gradle-plugin 遇到了这个问题,不得不把
-Dappengine.sdk.root=/opt/google/google-cloud-sdk/platform/appengine-java-sdk
在 VM 选项中,因为它没有看到环境变量。从命令行,它获取环境变量并且工作正常。这适用于我的 appengineRun 任务。
但它不适用于 appengineUpdate,因为这会导致另一个因缺少 env var 而导致的错误:Toolkit not found: apple.awt.CToolkit