我有两个Maven项目。其中一个必须依赖另一个。我使用IntelliJ,我试图右键单击project1>打开“模块设置”,在依赖项选项卡中,我单击了+符号以添加目录或jar依赖项。到目前为止一切顺利,当我尝试从依赖项中导入包时,它会为我自动填充它,但是编译会抛出错误,说没有这样的包。我究竟做错了什么 ?
答案 0 :(得分:6)
Maven没有项目概念。
您有一个Maven项目B.您选择了groupId(例如com.mycompany),其artifactId(例如B)及其版本(例如1.0-SNAPSHOT)。您在此项目上运行mvn install
。这将生成一个B-1.0-SNAPSHOT.jar文件,并将其存储在您的本地Maven存储库中,并使用其pom。
现在你想在另一个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了解详情。