2014-11-14 139 views
0

我试图在IntelliJ IDEA 14中使用SBT dotenv plugin。我只安装了Scala插件(看起来SBT插件不存在了)。 IDEA项目从build.sbt导入。在IntelliJ IDEA中启用sbt插件14

我将SBT dotenv自述文件中的代码添加到我的project/plugins.sbt中。我还添加了project/build.properties来指定SBT版本0.13.6。

当我在终端中运行sbt控制台时,它正确加载了我的.env文件,我可以使用sys.get("NAME")访问ENV变量。但是在IDEA中,它不会加载变量。我测试将sys.get("NAME")添加到我的一个测试中并运行它。我尝试重新启动IDEA,但它没有帮助。除了.env之外,还尝试加入project/.env,但它没有帮助。

+1

IntelliJ 14的Scala插件支持SBT开箱即用。你不需要安装任何其他插件。 – 2014-11-14 21:39:20

+0

好的,这个插件似乎并不能直接使用。因此我的问题。 – mrbrdo 2014-11-15 03:54:14

回答

0

如果你看看dotenv插件的来源,它会调用DirtyEnvironmentHack.setEnv这可能只是在shell中工作,因为它是一个黑客。我想这解释了在IntelliJ中加载时环境没有改变。

+0

我不知道为什么你认为它“可能只是在shell中起作用,因为它是黑客”?我的猜测是,由于某种原因,IntelliJ没有加载自动插件... – mrbrdo 2014-11-16 09:12:34

+0

更具体地说,如果我从我的应用程序明确调用它,IntelliJ运行良好。所以问题是IntelliJ没有加载自动插件。它与外壳无关。 – mrbrdo 2014-11-16 09:28:59

+0

或者插件运行良好,但是测试不是在同一个进程或子进程中运行,就像单独运行时一样。我很确定autoplugins在IntelliJ内部工作正常(或者我们的项目根本不起作用) – johanandren 2014-11-17 10:18:02