繁体   English   中英

如何在 eclipse gradle 项目的运行配置中设置环境变量?

[英]How to set Environment variables in Run Configuration of an eclipse gradle project?

我在 Eclipse 有一个 gradle 项目,它在运行时读取环境变量。 我可以成功创建一个 jar,将export MY_VAL=7放在 shell 中,然后执行 jar。但是我想从 eclipse 中运行该项目,因此我需要将环境变量放在运行配置中的某个位置。
对于普通的 Java 项目,这很简单:

在此处输入图像描述

但是在 gradle 中没有这样的选项卡:

在此处输入图像描述

如何为执行时间指定环境变量?

抢先消歧:
Eclipse:How to set env variables for Gradle 运行的标题非常相似,但实际上要求提供 gradle 可以读取的环境变量

对于普通的 Java 项目,这很简单:

是的,因为在一个普通的 Java 项目中,Eclipse 运行您的应用程序。 但是在 Gradle 项目中,Eclipse 运行 Gradle 和 Gradle 运行您的应用程序。 没有必要告诉 Eclipse 它应该如何告诉 Gradle 来运行你的应用程序,如果你可以告诉 Gradle 它应该如何运行你的应用程序。

使用 Gradle,与项目工作有关的所有相关步骤,例如编译代码、运行测试、创建 JAR 或运行生成的应用程序,都应由 Gradle 处理。主要优点是所有这些步骤可能是独立于 Eclipse(或任何其他 IDE)执行。 但是如果它们应该独立于 Eclipse 执行,那么在 Eclipse 中配置它们是没有意义的。相反,你应该配置你的构建脚本。

由于您没有将build.gradle添加到您的问题中,我只能猜测它的样子,但您可能正在使用 Gradle Application 插件及其任务run 任务runJavaExec类型,因此提供了一个方法environment来定义环境变量:

run {
    environment 'MY_VAL', '7'
}

从现在开始,您可以从 Eclipse 调用任务run (或者甚至从命令行使用gradle rungradlew run )以使用环境变量MY_VAL运行您的应用程序。

根据您正在使用的库和框架,有不同的方法,但对于一个简单的应用程序,您可以创建一个属性文件,您可以在应用程序启动时加载该文件。 您可以为 dev/prod/etc 提供单独的属性文件。 并根据您的构建环境加载它们。

查看这篇文章以获得简要概述: https://medium.com/@ubuntudroid/handling-environment-variables-in-gradle-fb1b8bb6c758

编辑您可以使用此属性文件方法将变量加载到 gradle 构建过程或您的 java 应用程序中。 Gradle 的 java 插件只允许你为 gradle 任务指定环境变量,而不是你的实际应用程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM