为了开发storm topology, 你需要把storm相关的jar包添加到classpath里面去: 要么手动添加所有相关的jar包, 要么使用maven来管理所有的依赖。storm的jar包发布在Clojars(一个maven库), 如果你使用maven的话,把下面的配置添加在你项目的pom.xml里面。
<repository>
<id>clojars.org</id>
<url>http://clojars.org/repo</url>
</repository>
<dependency>
<groupId>storm</groupId>
<artifactId>storm</artifactId>
<version>0.5.3</version>
<scope>test</scope>
</dependency>
如果你不喜欢用maven, 你可以试试leiningen。leiningen是clojure的一个build工具, 它同时也可以用于Java项目, leiningen使得以前使用maven管理的项目的管理变得非常简单, 下面是用leiningen来管理一个storm java项目的project.clj配置例子:
(defproject storm-starter "0.0.1-SNAPSHOT"
:java-source-path
"src/jvm"
:javac-options
{:debug
"true"
:fork
"true"}
:jvm-opts
["-Djava.library.path=/usr/local/lib:/opt/local/lib:/usr/lib"]
:dependencies
[]
:dev-dependencies
[
[storm "0.5.3"]
])
你可以运行lein deps
来获取所有的依赖包, 运行lein compile
来build项目,并且用lein uberjar
来生成一个适合提交给storm集群的jar包。