gpt4 book ai didi

java - 解决子 pom 的 Maven 依赖关系

转载 作者:行者123 更新时间:2023-12-02 04:34:05 31 4
gpt4 key购买 nike

我对 Maven 很陌生,我有一个 Maven 多模块项目,其父 pom 为

 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>
<groupId>com.test.cit</groupId>
<artifactId>cit</artifactId>
<version>LATEST-SNAPSHOT</version>
<name>Integration Test Framework</name>
<packaging>pom</packaging>
<modules>
<module>common</module>
<module>core</module>
<module>login</module>
</modules>
</project>

我已将所有相关的外部依赖项放入 common、core 和 login 的子 pom 中。然后,我将该项目转换为 Eclipse 项目(mvn eclipse:eclipse),之后 Eclipse 无法解析子 pom 中的依赖项,尽管相应的 jar 存在于 M2_HOME 中。

然后,我将子 pom 中的所有依赖项添加到父 pom(无论子 poms 中存在什么依赖项),然后 eclipse 就能够解决该问题。

我对这种行为感到困惑。既然我已经将外部依赖项添加到子 pom 中,为什么我应该再次将其添加到父 pom 中?

任何人都可以解释一下这一点,还是我在这里做错了什么来解决问题。

最佳答案

在父 pom 中,您可以选择添加两个标签:

<dependencies></dependencies>

<dependencyManagement></dependencyManagement>

<dependencies>您必须放置您希望所有项目包含的所有依赖项,例如 JUnit 依赖项或 Log4j。

<dependencyManagement>标签您应该添加您的项目需要的所有依赖项,这并不意味着它们将包含在您的所有项目中。这仅意味着您的子项目可以包含或不包含它们。它将帮助您管理版本。

因此,当您将所有依赖项添加到父项目中时,您的子项目之间的依赖关系可能会出现问题。

关于java - 解决子 pom 的 Maven 依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31058184/

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