从入门到入土 Hadoop新手搭建 windows下scala+idea+sbt安装
Posted Lejeune
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从入门到入土 Hadoop新手搭建 windows下scala+idea+sbt安装相关的知识,希望对你有一定的参考价值。
从入门到入土 Hadoop新手搭建(3) windows下scala+idea+sbt安装
继前篇hadoop搭建完成后,今后将用scala进行开发,但是我们是ubuntusever,没有图形化界面对我们新手开发并不是很友善,所以我们尝试在windows上先写好代码,再传回虚拟机进行运行。
安装scala
进入scala官网,可以看到有三种安装方式(但是我们开发ide还是要用idea,请自己去下载idea)
- idea安装
- sbt安装
- 二进制安装
这里选择用sbt进行安装,
sbt作为一个类似于maven的东西,具体做啥我也不懂,类似于项目构建时的工具。。。。大概。。。
这里有个很郁闷的地方。。。下载速度奇慢无比。。。就算用了百度网盘和微盘的离线下载速度也是奇慢无比,不想下载的,我已经存在网盘上了,地址如下
链接: https://pan.baidu.com/s/1C7pclMtUxUvK02vGo-sPdA 提取码: swak
下载完成后,打开并安装。
最好在sbt安装时选择无空格路径,因为即便命令行sbt能运行集成到idea时 双引号会被转义成\\",仍然报找不到主类的错误
安装完成后,也是因为网速原因,我们要用国内的镜像去下载。
在安装目录下,/conf下面有sbtconfig.txt,打开并编辑,添加以下内容
-Dsbt.global.base="E:/Program Files (x86)/sbt/.sbt"
-Dsbt.repository.config="E:/Program Files (x86)/sbt/properties"
-Dfile.encoding=UTF8
-Dsbt.boot.directory="E:/Program Files (x86)/sbt/sbt-repository/boot/"
-Dsbt.ivy.home="E:/Program Files (x86)/sbt/sbt-repository/"
-Dsbt.override.build.repos=true
-Dsbt.coursier.home=E:/language/sbt/Coursier
E:/Program Files (x86)/sbt
是我的安装路径,大家看着改注意一定要加双引号,我的目录中有空格存在,不加双引号会报找不到主类Files,这个地方我查了很多都没查到,直到用idea输入配置的时候,发现空格直接换行了,这才发现,再在安装目录下创建一个properties
文件,内容为
[repositories]
local
alirepo1:https://maven.aliyun.com/repository/central
alirepo2:https://maven.aliyun.com/repository/jcenter
alirepo3:https://maven.aliyun.com/repository/public
huaweicloud-maven: https://repo.huaweicloud.com/repository/maven/
huaweicloud-ivy: https://repo.huaweicloud.com/repository/ivy/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
maven-central: https://repo1.maven.org/maven2/
这里换源要注意,根据个人测试得出。。。也不知道是不是这样。。。如果不加最后一行,速度还是很慢。但又确实不从最后一行的地址去下载了。上面配置了阿里的源和华为的源。
这个时候,找一个空目录,输入sbt,并输入c,在此环境下创建项目文件,正常的话会出现一行正在加载类的文字,具体是什么忘记了。如果源配置正常,大约半分钟到一分钟左右就会开始飞速下载,下载完成后,会出现等待输入的标识,如下图
这样就算sbt安装成功了,如果有项目文件则可以输入run进行运行。我们开发不可能用记事本开发,还是用ide开发,idea已经把sbt整合进去了,所以我们只要用idea进行开发就行了。
IDEA插件安装
正常的idea插件安装可以在主界面,点击Configure->Plugins
并搜索scala,(也可以在项目设置里面找)
这里又有一个坑点。。。我这里莫名连不上那边的服务器,于是我们去官网下载到本地安装,这个时候要先看自己idea的版本,根据版本去下载,我是2019.3,所以下载2019.3.23
这里虽然也比较慢,但是至少还能下,这里可以考虑用百度网盘离线下载等功能。
下载完成后,选择自己刚刚下载的压缩包,并重启idea就可以了。
项目配置
idea的sbt的配置是独立于本机的配置的,需要重新配过。在主界面,点击Configure->Setiing,
找到sbt->vm parameters,输入之前在sbtconfig.txt里面的内容,然后ok就可以了。
项目启动
Create New Project-> scala -> sbt
填写相关项目信息
创建完成之后,经过构建,项目目录如下
我们主要编程在src下,main/scala就是我们平常写代码的地方,test/scala是测试目录,我们可以在这两个地方其中一个地方进行代码的编写,一般还是建议在main/scala,目前还没发现有什么区别。在上述两个地方其中之一,右键NEW->Scala Class,创建一个Object
输入文件名之后,选择Object,注意此处要选Object,这是和java不同的地方。
以我的为例,输入代码
object test
def main(args: Array[String])
println("Hello, SBT")
和java不一样的是,object名和文件名可以不相同,一开始以为要相同,后面测试发现不需要相同。随后,右键运行
非sbt用法
这里也简要介绍一下非sbt的运行方法,在scala官网下载windows二进制文件后,进行安装,安装完成后,做一遍idea的插件安装。不同的是不需要配置别的,直接创建新项目的时候选择idea就行,然后编好代码就可以右键运行,这个比sbt容易得多,不过sbt也有sbt的好处。但是这样子会比较快。
题外话
本人有强迫症,在sbt开始的时候,会有windows拷贝,把一些文件拷贝到User/.sbt下,我也不知道这些会占用多大,当时粗略的看了一下,没下载东西的时候50M+,本着怀疑他会随库变多而变大的猜想,而本人的C盘也不太够。所以果断研究了一下,发现在sbt/bin下的sbt.bat的503行左右,有一个拷贝命令,但是目前没有看到这个有什么用,所以我注释了他。如图所示,现在还没发现有什么问题。
总结
scala的环境安装弄了我一天,主要是
- 迷之问题
找不到主类Files(最好在sbt安装时选择无空格路径,因为即便命令行sbt能运行集成到idea时 双引号会被转义成\\",仍然报找不到File的错误)
解决:修改sbtconfig.txt里路径问题,如有空格加上双引号。
这个地方我想了很多,我一开始以为是java找不到Files的类,捣鼓了好几个小时的java,后来在idea里面测试的时候找到了答案。在这个地方深入浅出,看了很多底层的东西,甚至把bat文件看了一遍,还改了.jar文件 - 各种网速慢
包括sbt本体的下载慢、idea插件下载慢、sbt源慢
解决:前两个百度云盘离线下载或者慢慢等,sbt源慢,换了很多个源,发现上面的配置最合适。 - 强迫症.sbt文件夹
解决:注释指定内容
我现在特别想喷scala,可能还是我太菜了。
以上是关于从入门到入土 Hadoop新手搭建 windows下scala+idea+sbt安装的主要内容,如果未能解决你的问题,请参考以下文章