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
Spark源码打包编译的过程

sbt方式

Spark源码打包编译的过程

这样下载依赖包的速度超级慢

原因是从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
Spark源码打包编译的过程

可以看到 配置的阿里云资源库 已经生效了

既然sbt资源库下载已经换成了国内的资源库了

那么试试吧

Spark源码打包编译的过程

咦!怎么还是repo1.maven.org

接下来说一下 我努力挣扎的过程 反正结果以失败而告终 最后先放弃

以上是关于Spark源码打包编译的过程的主要内容,如果未能解决你的问题,请参考以下文章

安卓apk反编译修改重新打包签名全过程

源码包编译

sbt打包Scala写的Spark程序,打包正常,提交运行时提示找不到对应的类

[nghttp2]压测工具,源码编译并进行deb打包过程

修改marathon源码后,如何编译,部署到集群中?

Unity打包好的游戏可以反编译得到源码和资源吗