1. 从GitHub上下载源码
在本地文件夹建立一个叫storm-source的文件夹,将代码用git拖下来,最新的代码已经转移到https://github.com/apache/incubator-storm
git clone git://git.apache.org/incubator-storm.git
http方式:git clone https://github.com/apache/incubator-storm.git
2.Eclipse安装counterclockwise支持Clojure
由于Storm核心是用Clojure编写的,为了更好的查看源码,安装Eclipse的Clojure插件counterclockwise,支持Clojure。
在Eclipse Market中搜索counterclockwise,找到点击install即可。counterclockwise的项目地址是http://code.google.com/p/counterclockwise/
3.安装Leiningen
Leiningen用来管理Clojure Project,类似于Maven
在Windows 8.1上安装过程如下:
从http://leiningen.org/下载lein.bat ,放到本地某个文件夹,假设为D:\Develop\Leiningen下的bin,完整路径为D:\Develop\Leiningen\bin\lein.bat
配置环境变量 LEIN_HOME为D:\Develop\Leiningen,PATH中添加%LEIN_HOME%/bin;
以管理员身份运行cmd : (否则可能会提示:Error: Could not find or load main class
,我折腾了很久才发现这个问题) 可以CD到LEIN_HOME下,执行lein self-installs,这个时候会在LEIN_HOME下创建self-installs文件夹,包含leiningen-2.3.x-standalone.jar。
这样做的可以不用去修改lein.bat的内容。
4.将工程转换为Eclipse Project,并导入Eclipse
进入Strom源码目录,下的storm-core,执行lein deps 下载工程所需要依赖的Jar包到本地,默认会在C:\Users\your_account\.m2\repository
安装lein2-eclipse用来将工程转换为Eclipse Project 根据https://github.com/netmelody/lein2-eclipse上的说明,在storm-core的project.cli里面的:plugins [[lein-swank "1.4.4"]]添加
[lein2-eclipse "2.0.0"]
然后执行
lein eclipse
自动产生了.classpath和.project两个文件,那么就像普通的Java Project从Eclipse中import即可File->Import->Existing Project into Workspace。
导入后,由于Eclipse的classpath识别有点小问题,不能编译,需要手工调整一下,删除了.classpath中的 <classpathentry kind="src" path="../conf"/> 然后就可以编译工程了。并且添加了 <classpathentry kind="src" path="src/jvm"/>,这样Java代码也一并在工程中。