play framework 如何修改sbt存放jar包的仓库?
windows下默认存放在c盘用户目录下,产生.sbt和.ivy文件夹。
根据网上的一些介绍和自己的摸索,在c盘的.activator文件夹下面创建一个activatorconfig.txt文件,文件内容为:
-Dfile.encoding=UTF-8
-Dsbt.boot.directory=E:/activator/.sbt/boot
-Dsbt.ivy.home=E:/activator/repository
-Divy-home=E:/activator/repository
-Dactivator.local.repository=E:/activator/repository
-Dactivator.home=E:/activator
-Duser.home=E:/activator
此时点activator.bat的时候文件目录正确,但是在使用intellij idea 14的时候,选择sbt导入project,Global SBT settings-->launcher-->Custom选择activator.bat或者activator-launcher.jar并不管用,再次在c盘用户目录下面产生.sbt和.ivy文件夹。
这个问题是否有人遇到呢,如何解决呢
Answers
第一,使用命令行创建project,可以直接通过设置activatorconfig.txt;
第二,使用intellij idea14版本选择sbt导入尽量使用新版(scala插件也会更新),旧版存在bug
可以通过创建%SBT_OPTS%环境变量指定
-Dsbt.global.base=E:\activator.sbt
-Dsbt.ivy.home=E:\activator.ivy2
-Dsbt.boot.directory=E:\activator.sbt\boot
或者指定custom sbt-launcher.jar增加vm参数(同上);如果不打算更换版本,见第三点的解决办法;
第三,即使新版Scala插件1.5.2编译项目时也是存在这个bug的(c盘用户目录下创建.sbt和.ivy2,如果是我弄错了烦请指正),此时似乎只能直接修改scala插件中自带sbt-launcher.jar,修改对应文件.IntelliJIdea14\config\plugins\Scala\launcher\sbt-launch.jar\sbt\sbt.boot.properties
[boot]
directory: E:/activator/.sbt/boot
[ivy]
ivy-home: E:/activator/.ivy2