这是我的父母pom
<modelVersion>4.0.0</modelVersion>
<groupId>com.github.fish56</groupId>
<artifactId>MavenModules</artifactId>
<version>1.0-SNAPSHOT</version>
<modules>
<module>dao</module>
</modules>
<packaging>pom</packaging>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.6</version>
<scope>import</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
</dependencyManagement>
这是我的子模块的pom
<parent>
<artifactId>MavenModules</artifactId>
<groupId>com.github.fish56</groupId>
<version>1.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>dao</artifactId>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
</dependencies>
我希望子模块可以继承父模块的依赖关系,但是失败了。
我不能在孩子的pom中使用lombok或junit。
这是我的文件树
.
├── dao
│ ├── pom.xml
│ ├── src
│ └── target
├── pom.xml
我认为应该有一种方法可以使所有模块分片一些依赖,但是我找不到解决方法。
答案 0 :(得分:0)
您导入龙目岛BOM
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.6</version>
<scope>import</scope>
</dependency>
,然后尝试将其用作依赖项。但是BOM只是dependencyManagement条目的列表。它不能是子项目的依赖项。
答案 1 :(得分:0)
在父级POM
中,<dependencies>
和<dependencyManagement>
之间的主要区别如下:
<dependencies>
部分中指定的工件将始终作为子模块的依赖项包括在内。
如果在子模块本身的<dependencyManagement>
部分中也指定了在<dependencies>
部分中指定的工件,将仅包括在子模块中。
请在以下链接中找到更多信息:
Differences between dependencyManagement and dependencies in Maven