maven - Maven:子模块不能继承父模块的依赖
问题描述
这是我的父母 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
我认为应该有一种方法可以使一些依赖项成为所有模块的碎片,但我找不到解决方案。
解决方案
在 parent中,和POM
的主要区别如下:<dependencies>
<dependencyManagement>
该部分中指定的工件<dependencies>
将始终作为子模块的依赖项包含在内。
<dependencyManagement>
部分中指定的工件,只有在子模块本身的部分中也指定时才会包含<dependencies>
在子模块中。
请在以下链接中找到更多信息:
推荐阅读
- php - 无法获取 Mock_mysqli_result
- javascript - Javascript windows - 为扬声器和麦克风事件添加监听器
- aop - 为什么 List.add() 方法的方面不起作用?
- javascript - 样式化 Muitextfield 输入背景,隐藏标签
- java - 运行单元测试时禁用 Weld-SE 启动调试日志记录级别
- c - 是否可以从输出行的中间删除一个字符而不删除它后面的字符?
- windows - Windows Ffmpeg - 将音频发送到声卡的输出
- r - 从同一列表的元素中查找零位置的不匹配
- javascript - 如何使用 Javascript 移动带有箭头的元素
- python - 在 Pandas 中使用 fillna() 和 lambda 函数替换 NaN 值