文档章节

Sbt 使用技巧

pearma
 pearma
发布于 2017/04/10 13:19
字数 704
阅读 125
收藏 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
221
0
Ubuntu上手动安装sbt

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

ericSM
2016/06/22
92
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

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot + Mybatis-Plus 集成与使用(二)

前言: 本章节介绍MyBatis-Puls的CRUD使用。在开始之前,先简单讲解下上章节关于Spring Boot是如何自动配置MyBatis-Plus。 一、自动配置 当Spring Boot应用从主方法main()启动后,首先加载S...

伴学编程
昨天
7
0
用最通俗的方法讲spring [一] ──── AOP

@[TOC](用最通俗的方法讲spring [一] ──── AOP) 写这个系列的目的(可以跳过不看) 自己写这个系列的目的,是因为自己是个比较笨的人,我曾一度怀疑自己的智商不适合干编程这个行业.因为在我...

小贼贼子
昨天
7
0
Flutter系列之在 macOS 上安装和配置 Flutter 开发环境

本文为Flutter开发环境在macOS下安装全过程: 一、系统配置要求 想要安装并运行 Flutter,你的开发环境需要最低满足以下要求: 操作系统:macOS(64位) 磁盘空间:700 MB(不包含 IDE 或其余...

過愙
昨天
6
0
OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
昨天
2.5K
16
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
昨天
42
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部