storm(1.0.3)版本源码编译方法

来源:互联网 发布:不同表格相同数据查找 编辑:程序博客网 时间:2024/05/18 12:41
storm是一个开源的分布式实时流处理系统,其源码主要由clojure和java两种语言写成的代码构成,当然目前storm系统已经开始在将全部源码往java方向去转,可能在未来某个版本将会发布。在学习和编译storm源码时候,有一些要注意的地方;
1、首先可以下载源码到指定目录然后解压,解压以后根目录为apache-storm-1.0.3 ,可以看到根目录下面有很多文件夹,包括storm-core,这个文件夹就是存放storm核心源码的地方:
2、然后在根目录下,采用maven方式编译源码:mvn -DskipTests clean package
3、到这里编译还没完成,从根目录进入到storm-dist/binary目录 执行:mvn clean package -Dgpg.skip=true
这个时候编译完成的apache-storm-1.0.3.zip和apache-storm-1.0.3.tar.gz文件已经在目录storm-dist/binary/target下生成了:
这两个压缩包都可以直接解压,然后直接部署storm系统。
但是这里有一个要特别注意的是,文件解压以后在根目录下面有一个lib的文件夹,是系统使用的依赖包,其中包括了storm-core.jar包:
如果你修改了storm-core中的源码,在上面的两步编译之后你会发现,这个lib中使用的storm-core.jar文件依旧是最开始最原始的storm-core.jar文件,它并没有替换成你修改源码以后新生成的storm-core.jar包(原因这里并不清楚,1.0.3版本的是有这个问题,不知道其他版本有没有),因此,这里我们要手动更换这个jar依赖包:
然后进入源码目录中的storm-core/target/目录:
拷贝此文件夹下的storm-core-1.0.3.jar到编译后解压的storm根目录中的lib目录中去,这样才能使得你在storm-core中修改的源码起到作用。

原创粉丝点击