当前位置: 首页 > 工具软件 > Scala sbt > 使用案例 >

linux中安装Sbt、编译scala程序

程彭祖
2023-12-01

sbt介绍
sbt是一个代码编译工具,是scala界的mvn,可以编译scala,java等,需要java1.6以上。

sbt项目环境建立
sbt编译需要固定的目录格式,并且需要联网,sbt会将依赖的jar包下载到用户home的.ivy2下面,目录结构如下:

  1. |--build.sbt
  2. |--lib
  3. |--project
  4. |--src
  5. |   |--main
  6. |   |    |--scala
  7. |   |--test
  8. |         |--scala
  9. |--sbt
  10. |--target

复制代码 以上建立目录如下:

  1. mkdir -p ~/spark_wordcount/lib
  2. mkdir -p ~/spark_wordcount/project
  3. mkdir -p ~/spark_wordcount/src/main/scala
  4. mkdir -p ~/spark_wordcount/src/test/scala
  5. mkdir -p ~/spark_wordcount/target

复制代码

 

 

 

1、下载sbt通用平台压缩包:sbt-0.13.5.tgz

http://www.scala-sbt.org/download.html

 

2、建立目录,解压文件到所建立目录

$ sudo mkdir /usr/local/sbt$ 

$ sudo tar -zxvf sbt-0.13.5.tgz -C /usr/local

 

3、建立启动sbt的脚本文件

$ cd /usr/local/sbt/

$ vim sbt

/*在sbt文本文件中添加 

SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"

java $SBT_OPTS -jar /usr/local/sbt/bin/sbt-launch.jar "$@" 

 

4、修改sbt文件权限

$ chmod u+x sbt 

 

5、配置PATH环境变量,保证在控制台中可以使用sbt命令

$ vim ~/.bashrc

/*在文件尾部添加如下代码后,保存退出*/

export PATH=/usr/local/sbt/:$PATH

 

6、/*使配置文件立刻生效*/

$ source ~/.bashrc

 

7、测试sbt是否安装成功

/*第一次执行时,会下载一些文件包,然后才能正常使用,要确保联网了,安装成功后显示如下*/

$ sbt sbt-version

[info] Set current project to sbt (in build file:/opt/scala/sbt/)

[info] 0.13.5

 

8、在PROJECT_HOME/src/main/scala/下面建立scala文件

import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf

object SimpleApp
{
    def main(args: Array[String])
    {
        val logFile = "/usr/local/spark-1.5.2/README.md"
        val conf = new SparkConf().setAppName("Simple Application")
        val sc = new SparkContext(conf)
        val logData = sc.textFile(logFile, 2).cache()
        val numAs = logData.filter(line => line.contains("a")).count()
        val numBs = logData.filter(line => line.contains("b")).count()
        println("Lines with a: %s, Lines with b: %s".format(numAs, numBs))
    }
}

 

9、在PROJECT_HOME/下编辑simple.sbt

name := "Simple Project"
version := "1.0"
scalaVersion := "2.10.4"
libraryDependencies += "org.apache.spark" %% "spark-core" % "1.0.2"
resolvers += "Akka Repository" at "http://repo.akka.io/releases/"

     

10、编译打包

在PROJECT_HOME目录下运行:

sbt package

 

11、提交运行

SPARK_HOME/bin/spark-submit --class "SimpleApp" --master local[4] /PROJECT_HOME/target/scala-2.10/simple-project_2.10-1.0.jar 

 

 

 类似资料: