I have sbt 0.13.2 with a Scala project in IntelliJ 13.0.2.
I just want to change my default ../.ivy2/cache
path.
I tried to change following entry in ../bin/sbt
file in SBT installation
-Dsbt.ivy.home=D:/IvyHome/.ivy
But no luck.
Even in the IDE I couldn't find the place to update SBT_HOME
What would be the solution?
I had the same issue with IntelliJ IDEA 14 Build 139.463.4 (Play Framework 2.2.5 project).
I followed the steps below but it did not work for me. I finally fixed the issue by adding to the VM Parameters of the SBT Runner : -Duser.home=D:/Users/myName/ .
The variable user.home is used by the SBT Launcher to build ivy-home variable.
The answer suggesting changing IDE settings essentially changed the file
.idea/sbt.xml
(if you made changes for the project), orC:\Users\***\.IdeaIC14\config\options\project.default.xml
(if you made changes for the IDE default regardless which project).Therefore, you may consider putting this file in source control if you need to change it frequently. (In my case I had to switch between the
Spark 1.4
andSpark 1.5
libraries, making this worthwhile.)First of all you have two SBT plugins. The version of Scala plugin you're using already supports SBT, and you don't need an extra plugin. I recommend that you start by removing the extra plugin.
Remove unofficial plugin
To remove the unofficial plugin go to plugins configuration and remove the check next to the SBT plugin. This will not remove the plugin completely, but will keep it disabled.
Change the cache location
Once you have only single plugin, you can modify the location of the cache, by going to options, and searching for sbt. You should find an entry in IDE Settings.
You should see the VM Parameters. Click the icon next to the input, and add
-Dsbt.ivy.home=D:/IvyHome/.ivy
in the last line.Click OK and restart the IDE after saving all settings.
Now you should be using the new home location (of course this is true only for the builds run from IDE, if you use SBT from console, it will still use an old home setting).
Change the cache location for SBT ran from Console
As pointed out in the paragraph above. This change will not effect SBT ran from console. This is because by default IntelliJ uses bundled SBT.
If you want to modify your Ivy home for sbt, which you run from console, you have several ways of doing that.
I think the simplest is to modify the
sbtconfig.txt
file in theSBT_HOME/conf/sbtconfig.txt
(Windows only - on Linux you'd have to modifysbtopts
).At the end of the file add
-Dsbt.ivy.home=D:/IvyHome/.ivy
.The other way would be to modify Launcher Configuration as described in the documentation