【问题标题】:How add Storm jars on classpath?如何在类路径上添加 Storm jar?
【发布时间】:2014-05-26 00:06:15
【问题描述】:

我正在尝试建立一个 Storm 项目以进行开发 - 按照以下说明进行操作: http://storm.incubator.apache.org/documentation/Creating-a-new-Storm-project.html

我尝试编译并运行拓扑(来自 C:\Users\Simon Reeves\incubator-storm\examples\storm-starter) 如下: $ mvn compile exec:java "-Dstorm.topology=storm.starter.clj.word_count"

请告诉我以下情况:

1) 哪些 Storm jar 需要添加到类路径中? (Storm下载有很多jar)

2) jar 文件应该复制到哪个目录?如何确定类路径?

3) pom.xml 文件中需要添加的内容 - 是否需要添加 clojars.org 存储库和 Storm 依赖项(除了 2)。

【问题讨论】:

    标签: maven apache-storm


    【解决方案1】:

    我猜storm-starter pom example 已经够清楚了。

    在开发拓扑(本地集群模式)时,<dependencies> 中的每个 jar 都在类路径中。 Maven 会自动下载它们。

    当拓扑需要打包为jar并提交到storm集群时,运行mvm package。所有没有<scope>provided</scope><scope>test</scope> 的jar 都将在独立包中。在集群上运行时,它们将位于类路径中。

    此外,storm-release/libs/ 中的任何 jar 都将添加到类路径中。请注意,这些 jar 不应与您在独立包中的 jar 冲突。

    1. 将开发拓扑所需的每个 jar 放入部件中。请注意,storm-core jar 应与<scope>provided</scope> 一起使用。 (因为在任何风暴版本中都有一个storm-core jar。)
    2. Maven 会照顾他们。 (下载、管理依赖等)只需将它们添加到<dependencies> 部分即可。
    3. 如果需要clojars.org上的jar,在pom.xml中添加如下部分:
    <repository>
      <id>clojars.org</id>
      <url>http://clojars.org/repo</url>
    </repository>
    

    【讨论】:

      【解决方案2】:

      halfelf 的回答很好,但我认为可能比你目前想要完成的任务有点过早。

      我对这一切也很陌生,所以有些步骤可能是不必要的,但这就是我的工作方式:

      如果您只是想让基本示例在本地模式下工作,请使用 mvn 转到 incubator-storm 项目的根目录 (https://github.com/apache/incubator-storm)

      然后运行:

      mvn 验证

      mvn 全新安装

      如果您仍然遇到问题,请尝试rm -rf ~/.m2/,然后重新启动该过程。

      完成后,您可以进入启动项目:cd examples/storm-starter

      mvn 验证

      mvn compile exec:java "-Dstorm.topology=storm.starter.clj.word_count"

      编辑:我不需要修改任何东西来让storm-starter项目在本地模式下工作,或者手动将任何库添加到项目中。确保你也安装了所有依赖项,我安装了一个旧版本的 ruby​​,它似乎阻止它通过验证目标。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-04
        • 1970-01-01
        • 1970-01-01
        • 2015-03-02
        • 2012-04-22
        • 2015-08-14
        相关资源
        最近更新 更多