我正在用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的数据
我说错什么了吗?
3条答案
按热度按时间1wnzp6jl1#
您可以使用
--run_under
为Bazel run命令添加前缀。这可以在IntelliJ Run/Debug配置中用于设置环境变量。字符串
rwqw0loc2#
从终端启动Intellij,使其具有在bazel同步(构建)和bazel运行期间所需的环境变量。
在MacOS上,使用
open
命令启动它。字符串
Bazel只会将变量传递给构建进程,如果你在命令行上提供它们的话:
型
或者在
.bazelrc
中指定它们:型
bzzcjhmw3#
Intellij bazel插件的当前版本允许您指定bazel二进制文件。您可以利用这一点为每个运行配置添加特定的环境变量。
假设您想将以下内容添加到运行时环境:
字符串
然后创建一个名为
bazel_custom
的文件,包含以下内容(将/path/to/bazel
替换为bazel的正确路径):型
保存文件并将其标记为可执行文件:
chmod +x bazel_custom
个然后编辑您的Intellij bazel运行配置,并将特定于任务的bazel二进制文件的路径设置为
/path/to/bazel_custom
。