文档章节

细说 scala 开发环境

clebeg
 clebeg
发布于 2015/10/16 17:13
字数 581
阅读 139
收藏 2

细说 scala 开发环境

前言

每个人有每个人的悲剧,我的悲剧就是选择 ScalaIDE + Maven 作为 Scala 开发环境, 导致折腾到吐血。回想一下选择IDE的理由:

  1. 方便编写代码(这是最基本的,各种快捷键、自能提示补全、快速代码定位等等)
  2. 方便Debug(这个也是非常重要的,方便调试查找错误)
  3. 方便打包发布(不要小看这点,非常重要)
  4. 方便协作开发 总结一下使用 ScalaIDE + Maven 作为 Scala 开发环境 的缺点:
  5. 代码编写不是很方便,还撮合吧
  6. 调试有时候有问题
  7. maven 打包折腾死人(居然报什么JDK奔溃的错误) 后来果断换成了 ScalaIDE + SBT,很多问题一下就解决了,一句话Scala项目管理还是得用SBT。

SBT几个实用的配置方式

  1. 相信装了Maven的人,都想使得SBT的仓库和Maven的仓库合二为一,比较它们都占磁盘啊。 至今没找到好的方法,但是可以设置Ivy的本地仓库地址,以及下面的择中方案:
# 直接从本地maven仓库中去拉去Jar包
resolvers ++= Seq(  
  "Typesafe Repository" at "http://repo.typesafe.com/typesafe/releases/",  
  "Local Maven Repo" at "C://Users/zhangbaofeng/.m2/repository"  
)
  1. 设置SBT默认的仓库地址以及代理
# 设置 jvm 内存使用参数

-Xmx512M

-XX:MaxPermSize=256m

-XX:ReservedCodeCacheSize=128m

# 其他的sbt参数

-Dsbt.log.format=true
-Dhttp.proxyHost=dev-proxy.oa.com
-Dhttp.proxyPort=8080
-Dhttps.proxyHost=dev-proxy.oa.com
-Dhttps.proxyPort=8080

# 设置boot目录以及ivy本地仓库地址
-Dsbt.boot.directory=D:/java/scala/sbtboot/
-Dsbt.ivy.home=D:/java/scala/sbtivy2/

结合akka远程调用实战sbt+idea

sbt+idea环境搭建

请参考:http://debugo.com/idea-scala-ide/ 步骤1:安装 Java、Scala、SBT、Idea
步骤2:安装 sbt idea 插件
主要是在user_home/.sbt/0.13 下面新建 plugins 目录,然后在里面新建 build.sbt, 添加内容:

resolvers += "Sonatype snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/"
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.6.0")

步骤3:进入控制台 输入命令 sbt,记住不要上不了网哦 然后在有build.sbt的目录下面执行命令:gen-idea 搞定

巨坑的Idea问题:1、必须保证hosts文件 localhost 对应的是 127.0.0.1 否则无法联网 2、必须保证 build.sbt 保证行与行之间按空白分割

最后郑重宣布,放弃eclipse,投身 Idea

© 著作权归作者所有

共有 人打赏支持
clebeg
粉丝 44
博文 40
码字总数 40057
作品 0
广州
程序员
私信 提问
本地windows跑Scala程序调用Spark

应用场景 spark是用scala写的一种极其强悍的计算工具,spark内存计算,提供了图计算,流式计算,机器学习,即时查询等十分方便的工具,所以利用scala来进行spark编程是十分必要的,下面简单书...

wsc449
2017/11/21
0
0
ubuntu搭建nginx+scala+play2.0运行环境

学scala有段时间了,最近用scala做了个社区:<a href="http://www.cn-scala.com" title="http://www.cn-scala.com"></a>,开始买了个内存512的vps,但是编译都不通过,jvm提示无法为对象分配空......

冰雨心
2012/06/26
0
3
IDEA 的 Scala 插件--intellij-scala

intellij-scala 是 IntelliJ IDEA 集成开发环境用来开发 Scala 应用程序的插件。

匿名
2017/03/16
597
0
Scala入门之工具篇

我初次接触Scala时,由于对Scala相关的工具不够熟悉,学习的效率低下。所以本文主要介绍Scala编程所必备的工具。一般而言,我们接触一门编程语言,都需要接触这门语言的编译器、REPL、构建工...

碎镜
2017/11/29
0
0
Scala基础入门-1

首先需要Scala开发环境的搭建,网上自己找教程。 声明常量与变量 val foo = 0 // 常量var bar = 0 // 变量    在Scala中,更加鼓励使用val来进行声明,也就是推荐使用常量。在大部分时候不...

wei-spring
2015/11/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SQL语句查询

1.1 排序 通过order by语句,可以将查询出的结果进行排序。放置在select语句的最后。 格式: SELECT * FROM 表名 ORDER BY 排序字段ASC|DESC; ASC 升序 (默认) DESC 降序 1.查询所有商品信息,...

stars永恒
35分钟前
2
0
IntelliJ IDEA 第一个 Scala 程序

IntelliJ 安装完成 Scala 插件后,你需要尝试使用 IntelliJ 来创建并且运行第一个程序。 通常这个程序只是简单的输出 Hello World。 创建一个新工程 在文件下面选择新建,然后选择创建工程。...

honeymose
39分钟前
2
0
mysql分表,分区的区别和联系

一,什么是mysql分表,分区 什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看mysql分表的3种方法 什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同...

吴伟祥
41分钟前
1
0
csapp 习题 - 如何实现异或 exclusive-or

阅读 csapp v3 时,练习题 2.13 很有意思。练习题描述如下。 位设置是对于参数 mask 中每一个为 1 的位,那么参数 x 中相应位则被设置为 1 ;位清除是对于参数 mask 中每一个为 1 的位,那么...

ylme
昨天
5
0
Amino——产品迭代

兴趣部落产品迭代 时间 版本号 更新内容 备注 2019年1月2日 v3.1.1 支持定制部落首页的内容tab,酋长可以将精华、相册、分类添加到部落首页啦。 支持申请酋长,酋长可以直接推送优质话题,快...

铸剑为犁413
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部