在Maven / Eclipse中运行Storm Starter项目

时间:2013-12-05 12:34:01

标签: eclipse maven clojure apache-storm

我是eclipse和maven的新手。我已经尝试了两天来运行风暴启动项目并遇到了一些问题。

我有几个问题,我将在下面解释我的尝试。

  1. 如何将此项目导入eclipse,以便它运行并检索所有必需的依赖项。

  2. 如何在eclipse中从头开始一个风暴项目。当我启动一个新的maven项目并添加风暴依赖项时,它只会增加风暴,而不是所有依赖项。

  3. 我尝试过:

    我安装了最新的m2eclipse插件。当我选择导入现有的maven项目(我将m2-pom.xml更改为pom.xml我不知道为什么它被命名为m2-pom)一切看起来都不错,但是当我做maven安装时,在maven构建中,我得到了错误

    clojure-maven-plugin:1.3.8:编译(1个错误) 没有找到处理clojure-maven-plugin的市场条目:1.3.8:在Eclipse中编译。有关详细信息,请参阅“帮助”。

    我尝试了maven 2和3,我尝试创建一个新的java项目,然后添加maven配置并运行它。

    我已经到了所有依赖项已被下载的地步,但在我的项目中,所有的backtype类型仍然用红色加下划线,当我将鼠标悬停在它们上面时,它会说导入..

    当它说“import backtype.storm ...”时我还有另一次尝试但是当我爬上它时依赖性仍然无法解决。

    我试图运行的代码是:

    https://github.com/nathanmarz/storm-starter

    请帮忙

1 个答案:

答案 0 :(得分:3)

@girlcoder:我在玩“风暴启动”项目时遇到了类似的问题(即尽管导入了它们,但仍未识别出背类型)。我当时使用了IntelliJ IDEA,但我发现的修复也可能适用于您的情况:

在pom.xml文件中(我还将m2-pom.xml重命名为pom.xml),转到定义Storm依赖关系的部分,并将其范围更改为“compile”:

<dependency>
  <groupId>storm</groupId>
  <artifactId>storm</artifactId>
  <version>0.9.0.1</version>
  <!-- keep storm out of the jar-with-dependencies -->
  <!--<scope>provided</scope>-->
  <scope>compile</scope>
</dependency>

在将拓扑部署到实际的Storm集群时,我使用了“提供”范围,但我不得不将范围更改为“编译”以向LocalCluster提交拓扑。我希望这能帮助你解决问题。

更新:我现在正试图在Eclipse 4.3中打包storm-starter。原来,pom.xml文件与m2e eclipse插件不兼容。除了我上面提到的修改之外,我只能在更改pom.xml之后编译项目,如下所述:https://github.com/nathanmarz/storm-starter/issues/23