Java 从子pom解析maven依赖项

Java 从子pom解析maven依赖项,java,maven,Java,Maven,我是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">

我是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>

4.0.0  
com.test.cit
cit
最新快照
集成测试框架
聚甲醛
常见的
核心
登录
我已经将所有相关的外部依赖项放到了common、core和login的子pom中。然后,我将该项目转换为一个eclipse项目(mvn eclipse:eclipse),之后eclipse无法解析子pom中的依赖项,尽管M2_HOME中存在相应的JAR

然后,我将所有依赖项从子pom添加到父pom(子pom中存在的任何依赖项),然后eclipse能够解决这个问题

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


任何人都可以请您解释一下,或者我在这里做错了什么来解决问题。

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

<dependencies></dependencies>


标记中,您必须放置所有项目包含的所有依赖项,例如JUnit依赖项或Log4j

标记中,您应该添加项目所需的所有依赖项,但这并不意味着它们将包含在所有项目中。这只意味着您的子项目可以包含它们,也可以不包含它们。它将帮助您管理这些版本


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

我希望将所有依赖项都包含在子pom中,而不是包含在父pom中。整个过程在eclipse中运行良好,但在eclipse中产生了一个问题。
<dependencyManagement></dependencyManagement>