gpt4 book ai didi

Maven:子模块不能继承父模块的依赖

转载 作者:行者123 更新时间:2023-12-04 16:43:00 25 4
gpt4 key购买 nike

这是我的 parent 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>

我希望子模块可以继承父模块的依赖,但是失败了。

我不能在我的 child pom 中使用 lombok 或 junit。

这是我的文件树

.
├── dao
│   ├── pom.xml
│   ├── src
│   └── target
├── pom.xml

我认为应该有一种方法可以使一些依赖项成为所有模块的分片,但我找不到解决方案。

最佳答案

在父 POM<dependencies> 之间的主要区别和 <dependencyManagement>如下:

<dependencies> 中指定的 Artifact 部分将始终作为子模块的依赖项包含在内。

<dependencyManagement> 中指定的 Artifact 如果在 <dependencies> 中也指定了子模块,则将仅包含在子模块中子模块本身的部分。

请在以下链接中找到更多信息:

Differences between dependencyManagement and dependencies in Maven

关于Maven:子模块不能继承父模块的依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55954293/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com