文档章节

Sbt 使用技巧

pearma
 pearma
发布于 2017/04/10 13:19
字数 704
阅读 131
收藏 0

要做scala开发,sbt是绕不过去的一个坎,里面有许多坑,接下来看我怎么一一解决。

sbt 之 网络问题

Q: 首次执行sbt,程序停着不动,是个什么情况?

A: 一般来说,这就是网络不是很通畅所导致的。简单的方法,换一个地方上网。例如:我发现家里的联通宽带不行,于是我改到星巴克,用电信的免费wifi,结果就搞定了。

sbt 1.0+ 之 repository

Q: 公司里访问Internet需要经过Microsoft ISA代理服务器,windows如何配置SBT1.0以后的版本?

A: 简单做法,包括以下2步:

  1. 下载cntlm,做一个二级代理,避免sbt访问isa proxy需要身份验证的问题。

    cntlm -d my_domain_name -f -I -l 1119 -u mac proxy.sample.com:8080
    
  2. 修改sbtconfig.txt文件,该文件在%SBT_HOME%\conf\ 下。例如我的文件就在D:\Program Files (x86)\sbt\conf

    -Dhttp.proxyHost=127.0.0.1 
    -Dhttp.proxyPort=1119 
    -Dhttps.proxyHost=127.0.0.1 
    -Dhttps.proxyPort=1119 
    
3. 正常执行sbt,应该就可以访问外网了。

Q: 公司里无法访问外网,windows如何配置SBT1.0以后的版本?

A: 这个就比较复杂了,涉及到建立代理软件仓库的问题。不过我们还是可以尽量简化一下。

代理软件仓库,可以建得很复杂,有一整套管理软件+Web Server,也可以做得很简单,就是利用maven的本地缓存文件目录.m2来提供软件服务。

假设本地Maven缓存目录为 d:\users\mac.m2 , 为了使用这个目录为sbt提供服务,需要做以下几步。

  1. 修改%SBT_HOME%\conf\sbtconfig.txt文件,新增一行
-Dsbt.override.build.repos=true  #新增这一行,直接导致用户在build.sbt中对repo的设置失效
  1. 在%USERPROFILE%.sbt目录下,新增文件repositories
[repositories]
    ali: http://maven.aliyun.com/nexus/content/groups/public/  #可以直接使用ali的mvn库,如果能够连得上
    maven-local   #如果没法用sbt直连,那么用mvn来下载依赖包,然后从mvn的本地缓存(.m2文件夹)获取依赖包
    local               #这个表示用.ivy2文件夹作为软件仓库
  1. 创建项目目录,例如demo-proj,及demo-proj\project,并创建demo-proj\project\build.properties

    sbt.version=1.0.2 #这个要求用户使用sbt 1.0.2,如果用0.13的sbt,后面会有问题。

  2. 做完以上3步,应该就可以正常使用sbt了。sbt会从.m2文件找各种jar包,如果找不到,就会报错。此时就可以用maven来完善.m2文件里的内容。

  3. 补充一下,假设\windowsserver\users\mac.m2能够正常从互联网获取最新的jar包,而且也可以被开发机所访问到,则可以通过robocopy实现两台机器间目录的快速复制。

robocopy \\windowsserver\users\mac\.m2\repository d:\users\mac\.m2\repository /MIR

© 著作权归作者所有

上一篇: Scala 学习
下一篇: 深入学习Bash
pearma
粉丝 3
博文 67
码字总数 26042
作品 0
徐汇
高级程序员
私信 提问
Scala and Maven

构建Scala的工程常用sbt,sbt固然灵活,功能强大,却也难以精通,且在国内使用往往遇到网络不畅通的情况。虽然可以使用Repox公服和Coursier加速,却也浪费程序员们宝贵的时间。 Maven虽然死板...

碎镜
2017/11/29
0
0
Play For Scala 开发指南 - 第4章 第一个Play项目

转载请注明joymufeng,欢迎访问PlayScala社区(http://www.playscala.cn) 原文链接:http://www.playscala.cn/doc/catalog?id=j111 准备环境 安装JDK8 单击这里下载并安装JDK8,安装完成后在命...

joymufeng
2017/10/20
233
0
Ubuntu上手动安装sbt

Ubuntu上手动安装sbt sbt(Simple Build Tool,简单构建工具),对Scala或Java语言进行编译,类似于Maven或Ant,它需要jdk1.6或更高的版本支持。sbt可以在windows或Linux环境下安装使用 1、下...

ericSM
2016/06/22
99
0
SPARK学习之 --- eclipse / sbt / scala 配置

工作以及兴趣所致,开始了spark学习之旅,浏览网上大牛们的博客 文章,并且结合官网docs,刚开始云里雾里,现在也能雾里看到点花了。 学习spark,首先我们知道spark是由scala语言编写而成,至...

莫问viva
2016/01/12
2.6K
0
sbt笔记八 scala构建定义

.scala构建定义(sbt 0.13.0 Snapshot) 当前页面假定你已经阅读了Getting Started Guide的前面章节,尤其是.sbt build definition和more about settings。 sbt是递归的 build.sbt非常简单,...

Ellipse
2013/04/06
2K
0

没有更多内容

加载失败,请刷新页面

加载更多

lopatkin俄大神Windows精简版系统 安装教程 简单版

1.制作U盘启动盘 或 安装pe到电脑 下载微pe工具箱.(为什么用这个呢,因为这个无毒,无广告,无后门.其它pe在安装完系统会安装一堆木马,垃圾软件,后门什么的) pe制作工具下载http://www.wepe.com...

xiaogg
23分钟前
3
0
【0917】Linux shell基础知识2

【0917】Linux shell基础知识2 8.7/8.8 shell变量 8.9 环境变量配置文件 8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号 一、shell变量 1、使用...

飞翔的竹蜻蜓
25分钟前
3
0
管理角色认知-新晋管理常常犯的错

背景 管理是一门实践科学,从知道到做到,需要长时间的刻意练习,提前知道那些坑,可以提前规避。 坑1:被动执行 现象: 不主动找活干,等上级派活; 上级有了安排,指望上级替他决定实现方案...

春天spring
27分钟前
4
0
MongoDB4.0.2集群搭建

MongoDB4.0.2集群搭建 2019.02.01 01:02 619浏览 MongoDB4.0.2集群搭建 根据对象存储平台Django+MongoDB+Ceph的需求,现搭建部署一个十节点的MongoDB集群,主要以下关键点: 根据最新版本Mon...

linjin200
29分钟前
5
0
面试官问你B树和B+树,就把这篇文章丢给他

原文链接:面试官问你B树和B+树,就把这篇文章丢给他 1 B树 在介绍B+树之前, 先简单的介绍一下B树,这两种数据结构既有相似之处,也有他们的区别,最后,我们也会对比一下这两种数据结构的区...

欧阳思海
34分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部