SBT 无法读取 IntelliJ 中的环境变量
SBT can't read environment variables in IntelliJ
我在 ~/.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 设置中的 SBT。我去了 Build, Execution, Deployment
-> Build Tools
-> sbt
并将 VM parameters
设置为 -DJVM_XMX=-Xmx2048M
。没用。
有人知道如何设置 SBT 以正确使用 IntelliJ 吗?
使用的版本:
sbt 1.2.8
IntelliJ IDEA 2019.2.1
如果您希望这个 属性 成为您项目的一部分,而不仅仅是在您的解决方案中,您可以在存储库的根目录中添加一个文件名“.sbtopts”,在build.sbt 文件。
在此文件中,您可以配置 JVM 选项。
例如你可以在那里添加:
-J-Xmx2048M
我找不到支持我的建议的 sbt 文档,但它对我有用:)
作为解决方法,我可以使用系统属性 (scala.sys.SystemProperties
)。这是可行的,因为这是在 IntelliJ 设置中查找添加到 SBT 中的值的方法。
来自 build.sbt
的代码示例:
sys.props.get("JVM_XMX")
更新:
我终于弄清楚了真正的问题所在。我的 .bashrc
文件设置不正确(我只有 .zshrc
中的变量)。将环境变量添加到正确的 rc
文件后,问题得到解决。
我可以通过转到首选项 -> 构建、执行、部署 -> 构建工具 -> sbt,然后启用 sbt shell 进行构建和项目重新加载来解决这个问题。
我在 ~/.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 设置中的 SBT。我去了 Build, Execution, Deployment
-> Build Tools
-> sbt
并将 VM parameters
设置为 -DJVM_XMX=-Xmx2048M
。没用。
有人知道如何设置 SBT 以正确使用 IntelliJ 吗?
使用的版本:
sbt 1.2.8
IntelliJ IDEA 2019.2.1
如果您希望这个 属性 成为您项目的一部分,而不仅仅是在您的解决方案中,您可以在存储库的根目录中添加一个文件名“.sbtopts”,在build.sbt 文件。 在此文件中,您可以配置 JVM 选项。 例如你可以在那里添加: -J-Xmx2048M
我找不到支持我的建议的 sbt 文档,但它对我有用:)
作为解决方法,我可以使用系统属性 (scala.sys.SystemProperties
)。这是可行的,因为这是在 IntelliJ 设置中查找添加到 SBT 中的值的方法。
来自 build.sbt
的代码示例:
sys.props.get("JVM_XMX")
更新:
我终于弄清楚了真正的问题所在。我的 .bashrc
文件设置不正确(我只有 .zshrc
中的变量)。将环境变量添加到正确的 rc
文件后,问题得到解决。
我可以通过转到首选项 -> 构建、执行、部署 -> 构建工具 -> sbt,然后启用 sbt shell 进行构建和项目重新加载来解决这个问题。