Intellij Idea Bazel和系统环境变量

6ioyuze2  于 2023-08-03  发布在  其他
关注(0)|答案(3)|浏览(198)

我正在用Bazel构建我的Java项目。我想在构建/运行时使用环境变量。根据documentation--action_env=APP_ENV=Development应该可以工作。
所以我做bazel run myproject:app --action_env=APP_ENV=Development
System.getenv("APP_ENV");为空
在我的IntelliJ IDE中,我有以下内容。--action_env=APP_ENV=Development--action_env APP_ENV=Development都不起作用。
x1c 0d1x的数据
我说错什么了吗?

1wnzp6jl

1wnzp6jl1#

您可以使用--run_under为Bazel run命令添加前缀。这可以在IntelliJ Run/Debug配置中用于设置环境变量。

--run_under='export VAR1=FOO VAR2=BAR && '

字符串

rwqw0loc

rwqw0loc2#

从终端启动Intellij,使其具有在bazel同步(构建)和bazel运行期间所需的环境变量。
在MacOS上,使用open命令启动它。

$ export POSTGRES_USER=dev_user
$ open -a "IntelliJ IDEA CE"
$

字符串
Bazel只会将变量传递给构建进程,如果你在命令行上提供它们的话:

$ bazel build --action_env=POSTGRES_USER //...


或者在.bazelrc中指定它们:

build --action_env=POSTGRES_USER

bzzcjhmw

bzzcjhmw3#

Intellij bazel插件的当前版本允许您指定bazel二进制文件。您可以利用这一点为每个运行配置添加特定的环境变量。
假设您想将以下内容添加到运行时环境:

VAR1=VAL1
VAR2=VAL2

字符串
然后创建一个名为bazel_custom的文件,包含以下内容(将/path/to/bazel替换为bazel的正确路径):

#!/usr/bin/env bash

export VAR1=VAL1
export VAR2=VAL2

/path/to/bazel "$@"


保存文件并将其标记为可执行文件:chmod +x bazel_custom
然后编辑您的Intellij bazel运行配置,并将特定于任务的bazel二进制文件的路径设置为/path/to/bazel_custom

相关问题