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

ugmeyewa  于 2021-06-26  发布在  Storm
关注(0)|答案(2)|浏览(398)

我想用一个来自storm contrib的simplemongobolt。我下载了源代码,进入storm contrib mongo目录并运行mvn包和mvn安装。一切正常,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>
pgvzfuti

pgvzfuti1#

《暴风城》中的simplemongobolt其实已经过时了。我自己更新了模块并提交了一个pull请求,这个请求还没有被合并。目前,您可以从我的storm contrib fork检索更新的代码。

xbp102n0

xbp102n02#

您可以尝试检查是否在项目pom中定义了正确的依赖项,并将它们与storm工件1进行比较。groupid、artifactid和version必须相同,否则maven将尝试从外部存储库下载它,可能会失败,因为它从未安装在任何公共maven repo上。
安装工件时,它会转到user directory/.m2/repository/group/id/path/artifact/id/path/version。
对于storm amqp喷口,您应该将其放在:user directory/.m2/repository/com/reportive/storm amqp喷口/0.1.1文件夹中。
在那里你应该有几个文件:
jar本身(如果它打包为jar文件)。
pom.xml文件(与您为项目创建的、用于构建和安装它的文件相同)。
可以选择上面两个的sha1文件。
如果您没有它们,那么您可能在将工件安装到存储库中时犯了一些错误。您可以尝试再次安装它,或者从工件源目录复制它来手动创建pom。
如果有正确的pom.xml,我就没有真正的想法,因为我从未使用过intellij(idea?;))。

相关问题