文档章节

细说 scala 开发环境

clebeg
 clebeg
发布于 2015/10/16 17:13
字数 581
阅读 123
收藏 2
点赞 0
评论 0

细说 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
粉丝 43
博文 39
码字总数 40057
作品 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
Scala基础入门-1

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

wei-spring
2015/11/08
0
0
Scala入门之工具篇

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

碎镜
2017/11/29
0
0
IDEA 的 Scala 插件--intellij-scala

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

匿名
2017/03/16
597
0
Scala.js v0.1 发布,在浏览器直接运行 Scala

今天我们发布了 Scala.js 的首个版本,这个项目是在今年六月份的时候宣布的。 第一个版本支持的特性: 支持所有 Scala 特性,包括宏,不过有一些 语义上的区别 可非常好的跟 JavaScript 代码...

oschina
2013/11/30
1K
2
安装scala eclipse plugin导致pom.xml editor打开失败

一 问题描述 在本机搭建了基于Scala的Eclipse Plugin+scala2.10.3的开发环境, 但打开maven项目pom.xml文件时,却报空指针异常, pom editor打开失败. 查找了网上的一些资料,发现这是scala-ide...

cloud-coder
2014/03/17
0
0
IntelliJ+scala开发环境配置

折腾了半天总算是搞定了= = 自己写个小结mark一下好了 首先下载一个IntelliJ IDEA 社区版的 那玩意免费还开源 而且不写javaEE 这东西折腾scala绝对够用 口碑很好 然后还要在ubuntu上面配置...

zjhsdtc
2013/07/06
0
0
Kafka开发环境搭建(五)

如果你要利用代码来跑kafka的应用,那你最好先把官网给出的example先在单机环境和分布式环境下跑通,然后再逐步将原有的consumer、producer和broker替换成自己写的代码。所以在阅读这篇文章前...

老先生二号
2017/05/29
0
0
搭建基于 IDEA 的 Scala 开发环境

我找到了我认为最好的scala开发工具:Intellij IDEA。众所周知,intellij idea的使用性非常好,是一个非常优秀的IDE。而更令人振奋的是它在不久前开源了,并且最新的9.0版本刚刚发布了! 以下...

鉴客
2010/11/11
10.7K
12
scala入门之windows下安装scala

因为scala是JVM上的语言,所以我们首先要安装Java运行环境。从oracle官网下载:jdk-7u21-windows-x32.exe(目前最新版本),然后安装。注意,scala只需要java的运行环境,也就是只需要安装:...

柳哥
2014/06/05
0
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

java集合元素的默认大小

当底层实现涉及到扩容时,容器或重新分配一段更大的连续内存(如果是离散分配则不需要重新分配,离散分配都是插入新元素时动态分配内存),要将容器原来的数据全部复制到新的内存上,这无疑使...

竹叶青出于蓝
6分钟前
1
0
Java快速开发平台,JEECG 3.7.7闪电版本发布,增加多套主流UI代码生成器模板

JEECG 3.7.7 闪电版本发布,提供5套主流UI代码生成器模板 导读 ⊙平台性能优化,速度闪电般提升 ⊙提供5套新的主流UI代码生成器模板(Bootstrap表单+BootstrapTable列表\ ElementUI列表表单)...

Jeecg
10分钟前
0
0
export 和 module.export 的区别

在浏览器端 js 里面,为了解决各模块变量冲突等问题,往往借助于 js 的闭包把左右模块相关的代码都包装在一个匿名函数里。而 Nodejs 编写模块相当的自由,开发者只需要关注 require,exports,...

孟飞阳
12分钟前
0
0
技术教育的兴起

技术教育的兴起 作者: 阮一峰 1、 有一年,我在台湾环岛旅行。 花莲的海边,我遇到一对台湾青年夫妻,带着女儿在海滩上玩。我们聊了起来。 当时,我还在高校当老师。他们问我,是否觉得台湾...

吕伯文
12分钟前
0
0
Linux服务器下的HTTP抓包分析

说到抓包分析,最简单的办法莫过于在客户端直接安装一个Wireshark或者Fiddler了,但是有时候由于客户端开发人员(可能是第三方)知识欠缺或者其它一些原因,无法顺利的在客户端进行抓包分析,...

mylxsw
17分钟前
0
0
mybatis3-javaapi

sqlSessionFactoryBuilder->sqlSessionFactory->sqlSession<-rowbound<-resultHandler myBatis uses a Java enumeration wrapper for transaction isolation levels, called TransactionIsol......

writeademo
20分钟前
0
0
Java NIO:浅析I/O模型

也许很多朋友在学习NIO的时候都会感觉有点吃力,对里面的很多概念都感觉不是那么明朗。在进入Java NIO编程之前,我们今天先来讨论一些比较基础的知识:I/O模型。下面本文先从同步和异步的概念...

yzbty23
20分钟前
0
0
了解iOS消息推送一文就够:史上最全iOS Push技术详解

本文作者:陈裕发, 腾讯系统测试工程师,由腾讯WeTest整理发表。 1、引言 开发iOS系统中的Push推送,通常有以下3种情况: 1)在线Push:比如QQ、微信等IM界面处于前台时,聊天消息和指令都会...

JackJiang-
22分钟前
0
0
Mysql汉子转拼音

update t_app_city SET CITY_NAME_BEGIN = ELT(INTERVAL(CONV(HEX(LEFT(CONVERT(CITY_NAME USING gbk),1)),16,10), 0xB0A1,0xB0C5,0xB2C1,0xB4EE,0xB6EA,0xB7A2,0xB8C1,0xB9FE,0xBBF7, 0xBFA......

尘叙缘
24分钟前
0
0
大数据构建智慧城市“新引擎”,加速推进新旧动能转换

——“大数据与智慧城市”技术交流分享会——济南站召开 7月13日,“大数据携手智慧城市,助力山东新旧动能转换”技术交流分享会——济南站在山东信息通信技术研究院会议室成功举办,此次会议...

左手的倒影
26分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部