Scala篇:Scala环境及IDEA配置
1 语言介绍
- 他已经出生15年了,就像明星一样,谁都不可能一开始就人气爆棚粉丝无数,得慢慢混。
- 成功原因:完全兼容java代码。
- 身世介绍
- Scala在2004年正式问世,他的爸爸是Martin Odersky,这位老头同时也是Genenric Java的爸爸。神不神奇!Scala和Genenric Java居然是亲兄弟。
- Scala的全称叫scalable,可伸缩的意思。说白了就是可以简单又可以复杂。scala是个纯正的面向对象语言,并且具备函数式编程特性,这也是他最吸引人的地方。
- Scala之所以这么受欢迎还有一个原因,那就是Spark。专为大规模数据处理而设计的快速通用的计算引擎,这正是spark的最好诠释,关于spark的更多信息请百度。spark就是Scala编写的,所以想了解spark的优越性能及应用就必须得学习Scala。
2 下载 Scala
我们可以从 Scala 官网地址 http://www.scala-lang.org/downloads 下载 Scala 二进制包(页面底部),本教程我们将下载 2.10.5版本,如下图所示:
3 Windos安装Scala
-
需要java环境
-
解决windos一定会出的问题:安装msi 提示2502、2503的错误代码
- 步骤一:
- 按WIN+R,在运行框中输入“gpedit.msc” 确认;
- 打开本地策略组编辑器后依次展开 :“计算机配置”-》“管理模板”-》“windows组件”-》“windows installer”,并找到“始终以提升的权限进行安装”;
- 双击该选项,设置为“已启用”,并应用;
- 最后我们还要在本地策略组编辑器中的【用户配置】中进行如上同样的操作;
-
步骤二:
-
鼠标移到桌面左下角->右键(或者直接: WIN+X键),命令提示符(管理员)
-
输入:msiexec /package +‘msi文件路径’(输入的时候注意半角字符且路径不能为中文名)
-
例如:C:Windowssystem32>msiexec /package "F:micsoftscalascala-2.10.5.msi"”
-
- 步骤三:配置环境变量
- 设置 SCALA_HOME 变量:单击新建,在变量名栏输入:SCALA_HOME: 变量值一栏输入:D:Program Files(x86)scala 也就是 Scala 的安装目录,根据个人情况有所不同
- 设置 Classpath 变量:找到找到系统变量下的"Classpath"如图,单击编辑,如没有,则单击"新建":
- "变量名":ClassPath
- "变量值":.;%SCALA_HOME%in;%SCALA_HOME%libdt.jar;%SCALA_HOME%lib ools.jar;
- 注意:"变量值"最前面的 .; 不要漏掉。最后单击确定即可。
- 设置 Path 变量:找到系统变量下的"Path"如图,单击编辑。在"变量值"一栏的最前面添加如下的路径: %SCALA_HOME%in;%SCALA_HOME%jrein;
- 注意:后面的分号 ; 不要漏掉。
4 linux 装 Scala
-
需要java环境
-
上传scala的tar包到linux解压
- 修改环境变量
# 1 修改环境变量
vim /etc/profile
# 2 在最后添加如下内容--->
#jdk
export SCALA_HOME=/usr/local/src/scala-2.10.5
export PATH=$SCALA_HOME/bin:$PATH
#---<
# 3 更新源
source /etc/profile
# 4 测试
scala -version
- Scala 中文乱码解决
- 在 Scala 2.11.7 版本上,Mac OS X 或 Linux 系统上编译 Scala 代码,如果出现中文,会出现乱码的情况。
- 解决方案如下,分别编辑以下两个执行脚本:
vim `which scala`
vim `which scalac`
#找到:
[ -n "$JAVA_OPTS" ] || JAVA_OPTS="-Xmx256M -Xms32M"
#将其替换为:
[ -n "$JAVA_OPTS" ] || JAVA_OPTS="-Xmx256M -Xms32M -Dfile.encoding=UTF-8"
- 重新编译脚本,既可以正常显示中文。
5 idea配置scala
- settings----plugins
/**
* author Heaton
* email tzy70416450@163.com
* describe HelloWorld
*/
object HelloWorld {
def main(args: Array[String]): Unit = {
println("Hello World")
}
}
完