gpt4 book ai didi

gradle - 如何在 IntelliJ IDEA 13 gradle 任务中设置系统属性?

转载 作者:行者123 更新时间:2023-12-02 06:37:47 25 4
gpt4 key购买 nike

我有一个带有 gradle 构建工具的 Spring Boot 项目。 JDBC url、用户名和密码保存在属性文件中,该文件不是应用程序的一部分,它是外部属性文件,属性文件的路径取自系统属性,如下所示。

export _JAVA_OPTIONS=-DdatabaseConfiguration=db.properties

如果我使用 gradle bootRun 从终端运行应用程序,它就可以工作,但是当我尝试从 Intellij IDEA 13 gradle 任务运行它时,它不起作用,属性值为 null。

我尝试了运行/调试配置中的虚拟机选项,如下面的屏幕截图所示,它也不起作用

Run/Debug Configuration

如何在 Intellij IDEA 13 gradle 任务中设置 JAVA_OPTIONS。

最佳答案

这是因为每次您使用 Gradle 工具窗口在 IntelliJ 中启动任务时,它都会创建/覆盖该任务的启动配置。

基本上,我只需要从 Gradle 工具窗口运行一次。然后我进入失败的启动配置(如问题所示)并在虚拟机选项中输入系统属性。从那时起,我需要使用该 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

在虚拟机选项中,因为它没有看到环境变量。从命令行,它获取环境变量并正常工作。这适用于我的 appengineRun 任务。

但它不适用于 appengineUpdate,因为这会因缺少环境变量而导致另一个错误:找不到工具包:apple.awt.CToolkit

关于gradle - 如何在 IntelliJ IDEA 13 gradle 任务中设置系统属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25312220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com