java - 如何将 storm mongo 库添加为 Maven 依赖项?

标签 java maven maven-3 apache-storm

我正在尝试使用来自 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 中是否定义了正确的依赖项,并将它们与 Storm Artifact 一进行比较。 groupIdartifactIdversion 必须相同,否则 Maven 将尝试从外部存储库下载它并且可能会失败,因为它从未安装在任何公共(public) Maven 存储库。

当您安装 Artifact 时,它会转到用户目录/.m2/repostiory/group/id/path/*artifact/id/path*/< em>版本。

对于你的 storm-amqp-spout 你应该把它放在: 用户目录/.m2/repository/com/rapportive/storm-amqp-spout/0.1.1 文件夹。

你应该有几个文件:

  1. jar 本身(如果它被打包为 jar 文件)。
  2. pom.xml 文件(您为项目创建的文件,以及您用来构建和安装它的文件)。
  3. 可选地 sha1 文件用于上述两者。

如果您没有它们,您可能在将 Artifact 安装到存储库时犯了一些错误。您可以尝试重新安装它或手动创建 pom 只是从 Artifact 源目录复制它。

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

关于java - 如何将 storm mongo 库添加为 Maven 依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11859854/

相关文章:

Spring Hello World HTTP 状态 500 Servlet Init

android-maven-插件 : Disable debug build for apk

java - Java 中清理或修复 pom.xml 的工具 - Maven 项目

java - cookie 加密

java - kill -15后java进程为什么不退出?

java - 将内存分配给另一个 Java 类的对象

Maven 无法解析项目的依赖关系

java - 显示 JComponent 对象 - Java

java - 执行机器人框架测试套件两次

java - 马文 3 : Maven in 5 minutes "mvn archetype:generate..." command NOT WORKING