如题:
怎样编译spark源码方便读呢?首先当然是先去官网或者github上下载spark源码包,这里附上官网地址spark-2.4.5下载
下载好spark源码包以后解压,然后编译一下导入IDEA就可以愉快的看源码了,怎样编译呢?
这里以windows 10举例。
环境准备
首先要搭建好需要的环境,比如scala,maven和java,我的环境是1.8的java,2.11.11的scala以及3.6.1的maven。
打开解压后的spark源码文件夹,找到pom文件,文件夹中的pom文件有很多,这里的pom文件指的是根目录下的pom文件。找到并打开,找到<scala.version>,<maven.version>,<java.version>并修改成对应自己搭建的版本。
编译spark源码
修改完了pom文件之后,可以编译了,打开windows黑窗口,即菜单键+R执行cmd命令,打开黑窗口之后,进入到解压的spark源码文件夹根目录下,执行下面的命令:
mvn -DskipTests clean package
具体见官网搭建spark
然后慢慢等就好了,编译的时间会比较长。
编译遇到的问题
在黑窗口执行编译命令之后可能会报错,信息如下:
1.
An Ant BuildException has occured: Execute failed: java.io.IOException: Cannot run program “bash”: CreateProcess error=2, 系统找不到指定的文件。
[ERROR] around Ant part …… @ 4:27 in F:\IdeaWorkspace\spark-2.3.4\core\target\antrun\build-main.xml
这是因为黑窗口不能执行bash命令,我用的是git bash,去官网下载安装一个git安装就行,链接git官网下载。
安装好git之后,在桌面点击鼠标右键点击get bash here即可打开git窗口,在窗口内重新执行编译命令即可。
哦对了,编译之前建议把pom文件中的下载jar包的镜像地址改成国内的,不然网速可能有点慢。
<!--<repository>
<id>gcs-maven-central-mirror</id>
Google Mirror of Maven Central, placed first so that it's used instead of flaky Maven Central.
See https://storage-download.googleapis.com/maven-central/index.html
<name>GCS Maven Central mirror</name>
<url>https://maven-central.storage-download.googleapis.com/repos/central/data/<