SBT无法读取IntelliJ中的环境变量

时间:2019-08-29 09:58:38

标签: intellij-idea sbt rc

我在~/.zshrc中定义了一个新的环境变量,例如:export JVM_XMX=-Xmx2048M。我可以验证它是否正确运行export命令并在列表中找到它。

现在我想在SBT中使用它。我已经尝试了以下两种方法:

sys.env("JVM_XMX")

sys.env.get("JVM_XMX")

但是找不到该值,或者OptionNone。我看到的错误是:

NoSuchElementException: key not found: JVM_XMX

NoSuchElementException: None.get

我还试图在IntelliJ Settings中将变量添加到SBT中。我去了Build, Execution, Deployment-> Build Tools-> sbt并将VM parameters设置为-DJVM_XMX=-Xmx2048M。它没有帮助。

任何人都知道如何设置SBT以使其与IntelliJ正常工作吗?


使用的版本:

sbt 1.2.8

IntelliJ IDEA 2019.2.1

2 个答案:

答案 0 :(得分:1)

作为一种解决方法,我可以使用系统属性(scala.sys.SystemProperties)。之所以有效,是因为这是在IntelliJ设置中查找添加到SBT中的值的方法。

来自build.sbt的代码示例:

sys.props.get("JVM_XMX")

更新:

我终于能够弄清楚真正的问题是什么。我的.bashrc文件设置不正确(我的变量仅在.zshrc中)。将环境变量添加到正确的rc文件中后,此问题已解决。

答案 1 :(得分:0)

如果希望将此属性作为项目的一部分,并且不仅在解决方案中,还可以在build.sbt文件旁边的存储库根目录中添加文件名“ .sbtopts”。 在此文件中,您可以配置JVM选项。 例如,您可以在此处添加: -J-Xmx2048M

我找不到支持我建议的sbt文档,但这对我有用:)