我正在尝试使用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>
答案 0 :(得分:1)
您可以尝试检查项目pom中是否定义了正确的依赖项,并将它们与风暴工件进行比较。 groupId , artifactId 和 version 必须相同,否则Maven将尝试从外部存储库下载它,并且可能因为从未安装过而失败任何公开的Maven回购。
安装工件时,它会转到用户目录 /。m2 / repostiory / group / id / path / * artifact / id / path * / < EM>版本
对于你的storm-amqp-spout你应该拥有它: 用户目录 /。m2 / repository / com / rapportive / storm-amqp-spout / 0.1.1 文件夹。
你应该有几个文件:
如果你没有它们,你可能会错误地将工件安装到存储库中。您可以尝试再次安装它或手动创建pom,只需从工件源目录复制它。
如果有正确的pom.xml,我真的不知道因为我从未使用过IntelliJ(想法?;))。
答案 1 :(得分:1)
Storm-Contrib中的SimpleMongoBolt实际上已经过时了。我自己更新了模块并提交了一个尚未合并的拉取请求。目前,您可以从my Storm-Contrib fork检索更新的代码。