我在~/.zshrc
中定义了一个新的环境变量,例如:export JVM_XMX=-Xmx2048M
。我可以验证它是否正确运行export
命令并在列表中找到它。
现在我想在SBT中使用它。我已经尝试了以下两种方法:
sys.env("JVM_XMX")
sys.env.get("JVM_XMX")
但是找不到该值,或者Option
是None
。我看到的错误是:
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
答案 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文档,但这对我有用:)