我在IntelliJ 13.0.2中使用Scala项目获得了0.13.2。
我只想更改默认的../.ivy2/cache
路径。
我尝试在SBT安装中的../bin/sbt
文件中更改以下条目
-Dsbt.ivy.home=D:/IvyHome/.ivy
但没有运气。
即使在IDE中,我也找不到更新SBT_HOME
解决方案是什么?
答案 0 :(得分:22)
首先,你有两个SBT插件。您使用的Scala插件版本已经支持SBT,您不需要额外的插件。我建议您先删除额外的插件。
要删除非官方插件,请转到插件配置,然后删除SBT插件旁边的复选框。这不会完全删除插件,但会将其禁用。
只有一个插件后,您可以通过转到选项并搜索 sbt 来修改缓存的位置。您应该在 IDE设置中找到一个条目。
您应该看到 VM参数。单击输入旁边的图标,然后在最后一行添加-Dsbt.ivy.home=D:/IvyHome/.ivy
。
单击确定并在保存所有设置后重新启动IDE。
现在您应该使用新的家庭位置(当然,这仅适用于从IDE运行的构建,如果您从控制台使用SBT,它仍将使用旧的家庭设置。)
如上段所述。此更改不会影响从控制台运行的SBT。这是因为默认情况下IntelliJ使用捆绑的SBT。
如果你想修改你从控制台运行的sbt的Ivy home,你有几种方法可以做到这一点。
我认为最简单的方法是修改sbtconfig.txt
中的SBT_HOME/conf/sbtconfig.txt
文件(仅适用于Windows - 在Linux上,您必须修改sbtopts
)。
在文件末尾添加-Dsbt.ivy.home=D:/IvyHome/.ivy
。
另一种方法是修改Launcher Configuration as described in the documentation
答案 1 :(得分:4)
我在IntelliJ IDEA 14 Build 139.463.4(Play Framework 2.2.5项目)中遇到了同样的问题。
我按照以下步骤操作,但它对我不起作用。我最后通过添加到SBT Runner的VM参数来解决了这个问题:-Duser.home = D:/ Users / myName /。
SBT Launcher使用变量user.home来构建ivy-home变量。
答案 2 :(得分:1)
建议更改IDE设置的答案实质上更改了文件 .idea/sbt.xml
(如果您对项目进行了更改)或C:\Users\***\.IdeaIC14\config\options\project.default.xml
(如果您对IDE默认进行了更改)无论哪个项目。)
因此,如果您需要经常更改此文件,可以考虑将此文件放在源代码管理中。 (在我的情况下,我必须在Spark 1.4
和Spark 1.5
库之间切换,这样做是值得的。)