【问题标题】:Add a module dependency in Maven在 Maven 中添加模块依赖
【发布时间】:2013-10-12 09:15:12
【问题描述】:

我有两个 Maven 项目。其中一个必须依赖于另一个。我使用 IntelliJ,并尝试右键单击 project1 > 打开模块设置,然后在依赖项选项卡中单击 + 符号以添加目录或 jar 依赖项。到目前为止一切顺利,当我尝试从依赖项中导入包时,它会为我自动完成它,但是编译会抛出错误,说没有这样的包。我究竟做错了什么 ?

【问题讨论】:

  • 为什么不在你的 pom 中添加一个依赖呢?这就是在 Maven 项目中添加依赖项的方式。
  • @JBNizet 我昨天开始使用 Maven,所以我对此很陌生。你能举个例子如何引用另一个项目吗?

标签: maven intellij-idea dependencies


【解决方案1】:

Maven 中没有项目的概念。

您有一个 Maven 项目 B。您选择了它的 groupId(例如 com.mycompany)、它的 artifactId(例如 B)和它的版本(例如 1.0-SNAPSHOT)。你在这个项目上运行mvn install。这会生成一个 B-1.0-SNAPSHOT.jar 文件并将其与 pom 一起存储在您的本地 Maven 存储库中。

现在您想在另一个 Maven 项目 A 中使用 B-1.0-SNAPSHOT.jar。对于 A,B 是一个库,就像您使用的任何其他库(log4J、Spring、Hibernate、Guava 等)一样。所以你在 A 的 pom 中添加一个依赖,就像你对任何其他库所做的一样:

<dependencies>
    <dependency>
        <groupId>com.mycompany</groupId>
        <artifactId>B</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
    <!-- other dependencies: log4J, Spring, Hibernate, Guava, whatever -->
</dependencies>

阅读the awful documentation了解更多详情。

【讨论】:

  • 我是否将依赖添加到 B 或 A 的 pom 中?
  • 在 A 的 pom 中,因为 B 是 A 的依赖项。我修正了答案中的错字。
  • 另外,使用 IntelliJ 的乐趣之一是您可以轻松地将 B 作为依赖项添加到 A 的 pom.xml 中。在 A 的 pom 中,执行“Alt + Insert”,选择“Dependency Template”。 IntelliJ 为您插入一个完整的依赖标记,并将光标定位在 artifactId 中。您现在需要做的就是输入 B 的 artifcatId,其余的将由 IntelliJ 填写。我会说太棒了!
猜你喜欢
  • 1970-01-01
  • 2016-07-02
  • 2023-04-07
  • 1970-01-01
  • 2010-10-22
  • 1970-01-01
  • 1970-01-01
  • 2017-03-24
  • 2015-06-23
相关资源
最近更新 更多