(本文适用于Windows中安装了java、scala、idea的情形)
第一次配置sbt对项目进行管理
1. 进入官网https://www.scala-sbt.org/download.html下载sbt(版本无影响,安装路径不能带有空格)
2. 下载后进入安装目录下的conf文件夹
新建repo.properties文件,并修改sbtconfig.txt文件
repo. properties新建内容:
[repositories]
local
aliyun nexus:http://maven.aliyun.com/nexus/content/groups/public
typesafe-ivy-releases: http://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/[revision]/[type]s/artifact.
[ext]
maven-central
sonatype-snapshots: https://oss.sonatype.org/content/repositories/snapshots
sbtconfig.txt修改内容(其中D:/software_sp/spark-sbt要换成自己的sbt安装目录,注意文件夹名称要对应):
#-XX:+CMSClassUnloadingEnabled
-XX:MetaspaceSize=512m
-XX:MaxMetaspaceSize=768m
-Xss2m
-Xmx2048m
#-XX:MaxPermSize=256m support removed from 8.0
# Set the java args to high
-XX:ReservedCodeCacheSize=128m
# Set the extra SBT options
-Dsbt.log.format=true
-Dsbt.repository.config=D:/software_sp/spark-sbt/conf/repo.properties
#dependencies download position
-Dsbt.ivy.home=D:/software_sp/spark-sbt/.ivy2
-Dsbt.log.format=true
-Dsbt.boot.directory=D:/software_sp/spark-sbt/boot/
-Dsbt.global.base=D:/software_sp/spark-sbt/.sbt
-Dfile.encoding=UTF8
-Dsbt.override.build.repos=true
3. 为提高下载速度:
ps:也可找到下载了对应版本sbt的同鞋的sbt安装目录下的.ivy文件,减少下载时间。
4. 配置环境变量
5. 在命令行窗口输入命令:sbt 验证sbt是否安装成功,若提示continue or quit,输入continue。
6. IDEA配置sbt:File -- Settings -- Buile,Execution -- Build Tools -- sbt,在VM parameters中填入上面的相关参数。(为避免麻烦可以进行全局设置:
旧版本的IDEA:File -- Other Settings -- Default Settings
新版本的IDEA:File -- Other Settings -- Settings for New Projects
)
如不配置,idea会自动在c盘用户文件夹下自动生成相关文件,造成冗余。全局设置后新建项目时将自动加载本地安装目录。
VM parameters与conf文件夹下sbtconfig.txt以-Dsbt命令开头的参数相同,可选择复杂粘贴;
选择安装在本地的sbt-launch.jar;
7. 新建scala项目,选择sbt进行管理
8. 选择对应的本地的jdk、scala、sbt版本号
9. 点击finish完成创建,此时sbt插件将自动调用上述本地安装的sbt软件,下载默认依赖包,生成sbt项目结构目录,第一次项目dump需要一段时间。
10. 加载完成后,打开项目Project Structure,在libraries中添加scala SDK
Browse本地的scala安装目录,如D:/software_sp/spark-scala点击OK,弹出Choose Modules框默认OK。
11. 现在可添加依赖
(如右下角有弹出是否自动import,选择Enable Auto-import)
注:spark依赖有两种编写方式:
(1) 不明确指定spark库的版本
依赖包的组织部分 "org.apache.spark" 后面加两个%号,sbt自行去仓库源里面根据scala版本匹配,例如:
libraryDependencies += "org.apache.spark" %% "spark-core" % "2.0.0"
(2) 明确指明spark库版本
依赖包组织部分 "org.apache.spark" 后面只加一个%号,例如:
libraryDependencies += "org.apache.spark" % "spark-core_2.11" % "2.0.0"