大前提:
maven3 + jdk8 环境
maven 私服换成国内镜像,推荐阿里云 maven 镜像
maven-3.6.3\conf\settings.xml
<mirrors>
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
1. 首先,下载ds1.3.9源码
https://codeload.github.com/apache/dolphinscheduler/zip/refs/tags/1.3.9
2. 解压 dolphinscheduler-1.3.9.zip
3. 使用 IDEA 打开 dolphinscheduler-1.3.9 项目
先编辑右上角工具栏 Maven --> maven settings
确认一下 User settings file 和 Local repository,一定要确保和自己环境保持一致
4. 编辑最外面的 pom.xml 文件
dolphinscheduler-1.3.9\pom.xml
修改版本号
<hadoop.version>3.1.3</hadoop.version>
<hive.jdbc.version>3.1.2</hive.jdbc.version>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.connector.version}</version>
<!-- <scope>test</scope> -->
</dependency>
5. 然后,修改 最大上传文件大小 1024MB 改成 10240MB
application-api.properties 文件在 dolphinscheduler-api\src\main\resources\
这个目录下
# file size limit for upload
spring.servlet.multipart.max-file-size=10240MB
spring.servlet.multipart.max-request-size=10240MB
6. 然后,开始源码编译,打包
打开 IDEA 左下角的 Terminal
maven 打包 命令
mvn -U -X clean package -Prelease -Dmaven.test.skip=true
详细记录,打包成功完成后,如下
D:\opensource\github\dolphinscheduler-1.3.9>mvn -U -X clean package -Prelease -Dmaven.test.skip=true
...
[INFO] Reactor Summary for dolphinscheduler 1.3.9:
[INFO]
[INFO] dolphinscheduler ................................... SUCCESS [ 14.349 s]
[INFO] dolphinscheduler-ui ................................ SUCCESS [11:35 min]
[INFO] dolphinscheduler-plugin-api ........................ SUCCESS [ 12.200 s]
[INFO] dolphinscheduler-common ............................ SUCCESS [01:01 min]
[INFO] dolphinscheduler-dao ............................... SUCCESS [ 51.238 s]
[INFO] dolphinscheduler-remote ............................ SUCCESS [ 37.086 s]
[INFO] dolphinscheduler-service ........................... SUCCESS [ 39.986 s]
[INFO] dolphinscheduler-alert ............................. SUCCESS [ 33.790 s]
[INFO] dolphinscheduler-server ............................ SUCCESS [01:03 min]
[INFO] dolphinscheduler-api ............................... SUCCESS [01:10 min]
[INFO] dolphinscheduler-standalone-server ................. SUCCESS [ 32.926 s]
[INFO] dolphinscheduler-skywalking ........................ SUCCESS [ 39.604 s]
[INFO] dolphinscheduler-dist .............................. SUCCESS [05:49 min]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 25:05 min
[INFO] Finished at: 2023-06-22T12:38:25+08:00
[INFO] ------------------------------------------------------------------------
D:\opensource\github\dolphinscheduler-1.3.9>
7. 然后去 dolphinscheduler-dist\target 目录
可以看到,打包后的源码包、二进制包
apache-dolphinscheduler-1.3.9-bin.tar.gz
apache-dolphinscheduler-1.3.9-src.tar.gz
这样我们就得到了源码编译后的 ds1.3.9 的二进制包
注意:
高版本源码编译大同小异,后续有时间,陆续会出2.x,3.x源码编译blog
我们下期间,拜拜!