文档章节

细说 scala 开发环境

clebeg
 clebeg
发布于 2015/10/16 17:13
字数 581
阅读 135
收藏 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
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

没有更多内容

加载失败,请刷新页面

加载更多

手写tomcat+servlet

写程序一定要有思路,思路很重要! 一、我们分两步第一步先实现手写tomcat,第二部写servlet 所用技术: 1、soket通信 IO流 2、http请求与相应 3、解析xml 4、java反射技术 导入所需要的jar...

jason_kiss
28分钟前
1
0
Beetl模板的基础用法 【变量、循环、条件】---《Beetl视频课程》(2)

本期视频做了一个博客的首页列表; 内容简介:springboot 集成 beetlsql;使用for循环,使用if控制语句,使用虚拟属性,定义变量等等 一起学beetl目录:https://my.oschina.net/u/1590490?ta...

Gavin-King
33分钟前
1
0
各种视频监控上墙方案的比较

方案1、一使用 DVR 、NVR 直接显示上墙 不得不说,这种办法是成本最低廉的,但这里有不少限制: 无法实现分散点的集中上墙。譬如连锁经营的酒店,如果我在总部建立一个集中上墙的环境,这个就...

PeakFang-BOK
57分钟前
4
0
netfilter 和 iptables

一. netfilter 1. 什么是entfilter 和 iptables netfilter指整个项目名 在这个项目里面,netfilter特指内核中的netfilter框架, iptables指用户空间的配置工具。 netfilter在协议栈中添加了5...

Fc丶
今天
2
0
搞定了微信小程序富文本渲染解决方案-后端渲染方案Html2Wxml2J

先介绍一下最近遇到的问题: 最近小程序项目中有文章详情页需要渲染富文本,微信小程序官方提供的<rich-text>是个弱鸡,很多标签不支持,用起来也麻烦,性能也不咋地。 吐槽完了,我们决定寻...

山东-小木
今天
32
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部