生产预警平台项目之Flume-1.7.0源码编译导入IDEA

本文详细介绍了如何下载Flume 1.7.0源码包,解决编译过程中的错误,如enforcer插件失败和依赖解析问题,并指导如何在IDEA中导入编译后的Flume源码,以便于进一步的代码修改和定制。

参照博客:
1、https://ruozedata.github.io/2018/08/28/02%E7%94%9F%E4%BA%A7%E9%A2%84%E8%AD%A6%E5%B9%B3%E5%8F%B0%E9%A1%B9%E7%9B%AE%E4%B9%8BFlume-1.7.0%E6%BA%90%E7%A0%81%E7%BC%96%E8%AF%91%E5%AF%BC%E5%85%A5eclipse/
2、https://ruozedata.github.io/2019/06/17/%E7%94%9F%E4%BA%A7Flume%E6%BA%90%E7%A0%81%E5%AF%BC%E5%85%A5IDEA%E6%96%B9%E5%BC%8F/

1、下载apache-flume-1.7.0-src.tar.gz

下载地址:

  • http://archive.apache.org/dist/flume/1.7.0/
    在这里插入图片描述

  • http://archive.apache.org/dist/flume/1.7.0/apache-flume-1.7.0-src.tar.gz

  • 解压重命名为flume-1.7.0

2、Windows本地安装maven-3.3.9

解压apache-flume-1.7.0-src.tar.gz并进入解压路径:

使用命令:mvn clean compile进行编译

报错信息如下:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:1.0:enforce (clean) on project flume-parent: Some Enforcer rules have failed. Look above for specific messages explaining
why the rule failed. -> [Help 1]
  • 换成以下编译命令,跳过enforcer

  • mvn clean compile validate -Denforcer.skip=true

报错信息如下:

[ERROR] Failed to execute goal on project flume-ng-morphline-solr-sink: Could not resolve dependencies for project org.apache.flume.flume-ng-sinks:flume-ng-morphline-solr-sink:jar:1.6.0-cdh5.7.0: Fail
ed to collect dependencies at org.kitesdk:kite-morphlines-all:pom:1.0.0-cdh5.7.0 -> org.kitesdk:kite-morphlines-useragent:jar:1.0.0-cdh5.7.0 -> ua_parser:ua-parser:jar:1.3.0: Failed to read artifact d
escriptor for ua_parser:ua-parser:jar:1.3.0: Could not transfer artifact ua_parser:ua-parser:pom:1.3.0 from/to maven-twttr (http://maven.twttr.com): Connect to maven.twttr.com:80 [maven.twttr.com/31.1
3.83.8] failed: Connection timed out: connect -> [Help 1]
  • 其中flume-ng-morphline-solr-sink我们用不到,可以直接注释掉,在flume-ng-sinks下的pom.xml中找到并注释掉
<modules>
    <module>flume-hdfs-sink</module>
    <module>flume-irc-sink</module>
    <module>flume-ng-hbase-sink</module>
    <module>flume-ng-elasticsearch-sink</module>
    <!--<module>flume-ng-morphline-solr-sink</module> -->
    <module>flume-ng-kafka-sink</module>
</modules>
  • 然后重新编译:mvn clean compile validate -Denforcer.skip=true,成功如下图所示:
    在这里插入图片描述

3、flume源码编译好后导入IDEA:
1

2

3

4

5

6

然后等到导入完毕!

7

导入后没有任何报错,这时我们就可以对源码进行修改了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值