分类: 信息化
2014-06-06 15:27:16
最近学习Scala,不可避免的要用到sbt。爱折腾的我把原本比较简单的事情搞的复杂了,来来回回搞了好久,记录下来,有同样爱折腾的盆友可以参考下。
sbt在windows下如果是默认安装,会在用户目录生成 .ivy2 和 .sbt 2个文件夹,貌似是这2个啦,因为经常装系统的缘故,反正我是不太喜欢装到C盘的。
不装C盘就要改配置啦,怎么改?
首先得安装sbt吧,从 下载,直接选择gz包。
解压gz包,我是解压到E:\sbt
在E:\sbt\conf 下新增个文件repo.properties,文件内容如下:
1 | [repositories] |
2 | local |
3 | nexus: |
4 | sonatype-snapshots: |
修改E:\sbt\conf\sbtconfig.txt,加入3行
1 | -Dsbt.global.base=E:/sbt/.sbt |
2 | -Dsbt.ivy.home=E:/sbt/.ivy2 |
3 | -Dsbt.repository.config=E:/sbt/conf/repo.properties |
下载jar包我选择从nexus私服下,因为之前maven工程积累了不少jar包,要是从中央仓库下,公司网这每月限500M流量还不让人崩溃啊。
目前为止,都是一切顺利,然后进入E:\sbt\bin目录,执行sbt.bat
开始初始化,然后下载必须的包。。。
突然结束了,执行sbt --version,但是执行sbt就报错,
1 | Error during sbt execution: No Scala version specified or detected |
原因是sbt的一些依赖包在中央仓库没有,在typesafe的仓库里面。
但是不应该啊,我在nexus里面加了typesafe的仓库
1 |
删掉.sbt目录,反复重试都不行。
谷哥度娘都没遇到过类似的问题,只好默认安装了,然后查看日志发现,nexus中是先找中央仓库,然后再找typesafe,于是乎,修改nexus中pubilic虚拟库的查找顺序,把中央仓库放最后。
删掉.sbt目录,重试,ok了。然后根据官网的hello的demo做了一遍,一切ok。
嘿嘿,其实我只是想说,sbt配置nexus仓库的要点——中央仓库放public的最后。来源免费Q币资源网:http://blog.sina.com.cn/bugsqb