鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

编译

安装sbt

  1. 下载sbt-0.13.15到指定目录,并解压(此处以指定“/opt/tools/installed”目录为例)。
    1
    2
    3
    wget https://github.com/sbt/sbt/releases/download/v0.13.15/sbt-0.13.15.tgz
    tar -zxf sbt-0.13.15.tgz
    mv sbt /opt/tools/installed
    
  2. 在当前用户根目录创建.sbt目录,并将repositories文件拷贝到.sbt目录。

    repositories标签定义了sbt编译时使用的Maven仓库顺序。

    1
    2
    mkdir ~/.sbt
    cp repositories ~/.sbt
    

    repositories文件内容如下:

    1
    2
    3
    4
    5
    6
    [repositories]
    local
    kunpeng-maven: https://mirrors.huaweicloud.com/kunpeng/maven/
    huawei-maven: https://mirrors.huaweicloud.com/repository/maven/
    sbt-releases-repo: https://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
    sbt-plugins-repo: https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
    
  3. 配置SBT_HOME环境变量。
    1. 打开“/etc/profile”文件。
      1
      vi /etc/profile
      
    2. “i”进入编辑模式,在“profile”文件中加入如下内容。
      1
      2
      export SBT_HOME=/opt/tools/installed/sbt
      export PATH=${SBT_HOME}/bin:${PATH}
      
    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
  4. 使环境变量生效。
    1
    source /etc/profile
    

编译Scala-compiler-2.11.8

  1. 编译Scala时依赖jline-2.12.1,请参考《Jline 移植指南(CentOS&openEuler)》将编译过后的jline-2.12.1.jar替换到“~/.ivy2/cache/jline/jline/jars/”目录。
  2. 下载Scala-2.11.8源码。
    1
    git clone https://github.com/scala/scala.git
    
  3. 进入源码目录切换到版本分支。
    1
    2
    3
    cd scala
    git checkout v2.11.8
    sed -i "48,48s%)%),\n\ \ \ \ Keys.\`package\`\ := bundle.value%g" project/Osgi.scala
    
  4. 执行编译。
    1
    sbt package
    

    编译完成后,scala-compiler.jar放置于“build-sbt/pack/lib”目录。

编译Scala-compiler-2.11.12

  1. 编译Scala时依赖Jline 2.14.3,请参考《Jline 移植指南(CentOS&openEuler)》将编译过后的jline-2.14.3.jar替换到“~/.ivy2/cache/jline/jline/jars/”目录。
  2. 下载Scala 2.11.12源码。
    1
    git clone https://github.com/scala/scala.git
    
  3. 进入源码目录切换到版本分支。
    1
    2
    3
    cd scala
    git checkout v2.11.12
    sed -i "50,50s%)%),\n\ \ \ \ Keys.\`package\`\ := bundle.value%g" project/Osgi.scala
    
  4. 执行编译。
    1
    sbt package
    

    编译完成后,scala-compiler.jar放置于“build/pack/lib”目录。

编译Scala-compiler-2.12.7

  1. 编译Scala时依赖Jline 2.14.6,请参考《Jline 移植指南(CentOS&openEuler)》将编译过后的jline-2.14.6.jar替换到“~/.ivy2/cache/jline/jline/jars/”目录。
  2. 下载Scala 2.12.7源码。
    1
    git clone https://github.com/scala/scala.git
    
  3. 进入源码目录切换到版本分支。
    1
    2
    cd scala
    git checkout v2.12.7
    
  4. 修改文件repositories,将文件中的http均改为https。
    1
    vi ~/.sbt/repositories
    

  5. 执行编译。
    1
    sbt package
    

    编译完成后,scala-compiler.jar放置于“build/pack/lib”目录。