Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.1k views
in Technique[技术] by (71.8m points)

scala - Changing Ivy Cache Location for sbt projects in IntelliJ IDEA?

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.

enter image description here

Even in the IDE I couldn't find the place to update SBT_HOME

What would be the solution?

enter image description here

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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.

Two Plugins

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.

Disable Plugin

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.

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.

Modify Settings

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 the SBT_HOME/conf/sbtconfig.txt (Windows only - on Linux you'd have to modify sbtopts).

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...