3

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

4

1 回答 1

10

Maven 中没有项目的概念。

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

现在您想在另一个 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>

阅读糟糕的文档以获取更多详细信息。

于 2013-10-05T11:47:34.163 回答