当前位置: 首页 > 知识库问答 >
问题:

使用Spring Boot Gradle插件和IntelliJ设置环境变量

丌官承
2023-03-14

我的问题是关于环境变量的。我正在使用SpringBootGradle插件,并在Windows上用Intellij14进行开发。

我正在尝试获取一些用于GoogleAPI工作的发布/订阅示例代码,但我不认为这是我问题的要点(此处指出,因为我可能是错的!)如果不在AppEngine上运行,那么示例代码有许多方法可以通过提供具有身份验证凭据的文件来满足它。我目前没有使用AppEngine的计划。

我被要求设置一个名为GOOGLE_APPLICATION_CREDENTIALS的环境变量,在做了一些简单的尝试后,我发现一个系统属性是不够的。它必须是一个环境变量。

我想这样做的方式,调整环境,只有这个IntelliJ项目,而不是机器上的一切。通常在IntelliJ中,我会通过将环境变量添加到启动配置选项来实现这一点。因为我使用的是SpringBootGradle插件,所以我的项目有一个“bootRun”启动配置。启动配置选项屏幕有以下主要选项:启动前的名称、Gradle项目、任务、VM选项、脚本参数

环境变量没有选项。

我知道我可以通过执行以下操作之一来解决此问题:

  • 在windows系统控制面板下添加环境变量
  • 停止使用Spring Boot插件,以便启动配置选项的“环境变量”部分作为选项返回

我希望的是,由于我缺乏对Spring[Boot]和/或Gradle的了解,还有另一个我不知道的选择。

共有3个答案

沃侯林
2023-03-14

您可以在下面的build.gradle中设置环境变量:

test {
    environment "GOOGLE_APPLICATION_CREDENTIALS", "${project.file("/src/test/resources/service-account-data.json")}"
     }

希望这能帮到别人。享受

欧阳元魁
2023-03-14

在gradle中设置环境变量,如下所示

test {
       environment "GOOGLE_APPLICATION_CREDENTIALS", "<path_to_json>"
     }
家弘业
2023-03-14

在Gradle Spring Boot插件中,您可以将环境变量设置为键:值对数组。

bootRun {
    environment = ["GOOGLE_APPLICATION_CREDENTIALS": "[PATH TO JSON]" ]
}
 类似资料:
  • 为了给OpenStack命令行客户端提供所需的环境变量,您必须创建OpenStack RC文件,或者说叫openrc.sh文件。如果您安装的时候有这个文件,您可以在OpenStack控制台用任意一个用户下载到这个文件。这个针对某个project有效地文件包含了所有OpenStack服务所需的关键信息。 当您手动载入这个文件时,里面的环境变量配置便会加载进当前Shell中。这些环境变量连接了本地的O

  • 问题内容: 需要基于构建环境配置来设置标签的href值。 例如: 分期应有 产品应具有 当前设置: 生成命令: .env.staging.js: index.html: 在index.html中,这似乎不起作用。虽然类似的设置适用于JS文件 (可能是因为将JS文件解析并捆绑到一个文件中,并且捆绑程序在该时间点读取值) 尝试过的事情: index.html: (类似于PUBLIC_URL变量) 与浏

  • ENV 设置环境变量 格式有两种: ENV <key> <value> ENV <key1>=<value1> <key2>=<value2>... 这个指令很简单,就是设置环境变量而已,无论是后面的其它指令,如 RUN,还是运行时的应用,都可以直接使用这里定义的环境变量。 ENV VERSION=1.0 DEBUG=on \ NAME="Happy Feet" 这个例子中演示了如何换行,以

  • 问题内容: 我正在将Jenkins与Testswarm和此插件一起使用(派生资源)。 我想为Testswarm获取一个“工作名称”,其中包含詹金斯的工作名称,内部版本号和svn修订版号。 将JOB_NAME放在配置字段中无济于事,该变量不会被其值替换。 因此,我修改了插件源代码以获取Jenkins环境变量,但我得到的只是“空”变量。 这是罪魁祸首代码。(在第205行的src / main / ja

  • 我正在Eclipse中使用Spring Boot应用程序(maven项目)。当我运行maven项目的test clean target时,我希望加载活动概要文件 我已经在application.properties和application-test.properties中添加了属性spring.profiles.active=test,aop,这没有任何影响。

  • 问题内容: 我在下面的代码中只想设置一个环境变量: 运行此文件: 该调用可以正确打印,但是随后我希望在会话中也设置此env变量,但是: 什么都没有,它是空的。这是预期的行为吗?如果是这样,我如何使这个env变量在我的会话中保持不变,并使用类似这样的程序对其进行设置? 问题答案: 创建新流程时,将复制父流程的环境。在新流程中对环境所做的更改不会影响父流程。修改环境后,您必须让程序启动Shell。