编译
安装sbt
- 下载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
- 在当前用户根目录创建.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]
- 配置SBT_HOME环境变量。
- 打开“/etc/profile”文件。
1
vi /etc/profile
- 按“i”进入编辑模式,在“profile”文件中加入如下内容。
1 2
export SBT_HOME=/opt/tools/installed/sbt export PATH=${SBT_HOME}/bin:${PATH}
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开“/etc/profile”文件。
- 使环境变量生效。
1
source /etc/profile
编译Scala-compiler-2.11.8
- 编译Scala时依赖jline-2.12.1,请参考《Jline 移植指南(CentOS&openEuler)》将编译过后的jline-2.12.1.jar替换到“~/.ivy2/cache/jline/jline/jars/”目录。
- 下载Scala-2.11.8源码。
1
git clone https://github.com/scala/scala.git
- 进入源码目录切换到版本分支。
1 2 3
cd scala git checkout v2.11.8 sed -i "48,48s%)%),\n\ \ \ \ Keys.\`package\`\ := bundle.value%g" project/Osgi.scala
- 执行编译。
1
sbt package
编译完成后,scala-compiler.jar放置于“build-sbt/pack/lib”目录。
编译Scala-compiler-2.11.12
- 编译Scala时依赖Jline 2.14.3,请参考《Jline 移植指南(CentOS&openEuler)》将编译过后的jline-2.14.3.jar替换到“~/.ivy2/cache/jline/jline/jars/”目录。
- 下载Scala 2.11.12源码。
1
git clone https://github.com/scala/scala.git
- 进入源码目录切换到版本分支。
1 2 3
cd scala git checkout v2.11.12 sed -i "50,50s%)%),\n\ \ \ \ Keys.\`package\`\ := bundle.value%g" project/Osgi.scala
- 执行编译。
1
sbt package
编译完成后,scala-compiler.jar放置于“build/pack/lib”目录。
编译Scala-compiler-2.12.7
- 编译Scala时依赖Jline 2.14.6,请参考《Jline 移植指南(CentOS&openEuler)》将编译过后的jline-2.14.6.jar替换到“~/.ivy2/cache/jline/jline/jars/”目录。
- 下载Scala 2.12.7源码。
1
git clone https://github.com/scala/scala.git
- 进入源码目录切换到版本分支。
1 2
cd scala git checkout v2.12.7
- 修改文件repositories,将文件中的http均改为https。
1
vi ~/.sbt/repositories
- 执行编译。
1
sbt package
编译完成后,scala-compiler.jar放置于“build/pack/lib”目录。