Spark源码打包编译的过程
Posted 平凡人笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark源码打包编译的过程相关的知识,希望对你有一定的参考价值。
前言
上篇文章介绍了下 安装sbt环境 启动scala项目
为什么要弄这个 因为我本来是想对spark源码编译部署
spark是用scala语言编译的
spark源码
https://gitee.com/pingfanrenbiji/spark
spark提供的编译方式
编译的前提是将所有的依赖包都下载下来
而资源包管理方式有maven、graddle、sbt等
maven方式
将maven资源库修改为阿里云资源库
配置方式
方式1
方式2
<repositories>
<repository>
<id>aliyun</id>
<url>https://maven.aliyun.com/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
-
如果你只是配置了repositories,那么你会发现在mvn在下载依赖的时候,一部分从阿里云下载,一部分还是从默认的仓库(https://repo.maven.apache.org )下载
-
只有项目本身的依赖,走了aliyun这个repository,maven命令需要的插件(比如clean、install都是maven的插件),走的还是默认的repository
方式3
在maven setting文件中
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
maven编译打包
mvn -DskipTests clean package
sbt方式
这样下载依赖包的速度超级慢
原因是从https://repo1.maven.org/maven2/
这个国外的资源库网站下载的
那么类似于maven 准备换成国内的资源库
国内资源库配置方法
上面文章介绍的是配置的华为的国内资源库
这里配置下阿里的国内资源库
vim ~/.sbt/repositories
[repositories]
aliyun-maven-repo: https://maven.aliyun.com/repository/public
aliyun-nexus: https://maven.aliyun.com/nexus/content/groups/public/
typesafe: https://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly
maven-central
sonatype-oss-releases
sonatype-oss-snapshots
ivy-sbt-plugin: https://dl.bintray.com/sbt/sbt-plugin-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
检验配置的国内资源库是否生效
mkdir test
cd test
sbt
show fullResolvers
可以看到 配置的阿里云资源库 已经生效了
既然sbt资源库下载已经换成了国内的资源库了
那么试试吧
咦!怎么还是repo1.maven.org
接下来说一下 我努力挣扎的过程 反正结果以失败而告终 最后先放弃
以上是关于Spark源码打包编译的过程的主要内容,如果未能解决你的问题,请参考以下文章