繁体   English   中英

如何将storm mongo库添加为maven依赖项?

[英]How do I add the storm mongo library as a maven dependency?

我正在尝试使用来自storm-contrib的SimpleMongoBolt。 我下载了源码,进入了storm-contrib-mongo目录并运行了mvn package和mvn install。 一切正常,IntelliJ能够在编码时解决问题。 但是,当我尝试构建我的项目时,它会尝试在外部存储库中找到此库的pom。 当它找不到它时,它会失败。 我需要做些什么来解决这个问题?

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>StormTest</groupId>
    <artifactId>StormTest</artifactId>
    <version>1.0</version>
    <packaging>jar</packaging>
    <name>StormTest</name>

    <repositories>
        <repository>
            <id>clojars.org</id>
            <url>http://clojars.org/repo</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>storm</groupId>
            <artifactId>storm</artifactId>
            <version>0.7.2</version>
            <scope>Test</scope>
        </dependency>
        <dependency>
            <groupId>com.rapportive</groupId>
            <artifactId>storm-amqp-spout</artifactId>
            <version>0.1.1</version>
        </dependency>
        <dependency>
            <groupId>com.rapportive</groupId>
            <artifactId>storm-json</artifactId>
            <version>0.0.1</version>
        </dependency>
        <dependency>
            <groupId>storm</groupId>
            <artifactId>storm-contrib-mongo</artifactId>
            <version>0.1-SNAPSHOT</version>
        </dependency>
    </dependencies>
</project>

您可以尝试检查项目pom中是否定义了正确的依赖项,并将它们与风暴工件进行比较。 groupIdartifactIdversion必须相同,否则Maven将尝试从外部存储库下载它,并且可能因为从未在任何公共Maven仓库上安装而失败。

安装工件时,它会转到用户目录 /.m2/repostiory/group / id / path / * artifact / id / path * / version

对于storm-amqp-spout,你应该在: user-directory /.m2/repository/com/rapportive/storm-amqp-spout/0.1.1文件夹中。

那里你应该有几个文件:

  1. jar本身(如果它被打包为jar文件)。
  2. pom.xml文件(与您为项目创建的文件相同,并且您曾经构建并安装它)。
  3. 上面两个可选的sha1文件。

如果你没有它们,你可能会错误地将工件安装到存储库中。 您可以尝试再次安装它或手动创建pom只是从工件源目录复制它。

如果有正确的pom.xml,我真的不知道,因为我从未使用过IntelliJ(想法?;))。

Storm-Contrib中的SimpleMongoBolt实际上已经过时了。 我自己更新了模块并提交了一个尚未合并的拉取请求。 目前,您可以从我的Storm-Contrib fork中检索更新的代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM