Java 单个或多个Maven pom.xml配置文件?

Java 单个或多个Maven pom.xml配置文件?,java,xml,maven,pom.xml,Java,Xml,Maven,Pom.xml,我想问一些与Maven项目中的pom.xml文件相关的问题 为什么所有依赖项库都有多个pom.xml,而不是将所有依赖项都放在一个pom.xml中 Maven项目中的这些pom.xml文件应该放在哪里 这是Spring框架的pom.xml示例-这取决于您的项目,如果项目很小,并且该项目的产品(工件)只有一个,那么一个pom就足够了。但是,如果您的项目有许多工件(库、战争、耳朵等),那么对于每个工件,通常都需要pom Maven的概念是一个项目定义(POM)只生成一个工件(有例外)。如果需要,

我想问一些与Maven项目中的pom.xml文件相关的问题

  • 为什么所有依赖项库都有多个
    pom.xml
    ,而不是将所有依赖项都放在一个
    pom.xml
  • Maven项目中的这些
    pom.xml
    文件应该放在哪里

这是Spring框架的pom.xml示例-

这取决于您的项目,如果项目很小,并且该项目的产品(工件)只有一个,那么一个pom就足够了。但是,如果您的项目有许多工件(库、战争、耳朵等),那么对于每个工件,通常都需要pom

Maven的概念是一个项目定义(POM)只生成一个工件(有例外)。如果需要,每个项目都应该有单独的目录,其中包含
pom.xml
,以及源目录

一个maven项目可以构建两个不同的应用程序(例如桌面和webapp)。这种不同的应用程序具有不同的依赖性

多模块项目结构示例:

阅读更多
  • 为什么所有依赖项库都有多个pom.xml,而不是将所有依赖项都放在一个pom.xml中
maven项目可以由许多工件组成。一个工件可能是字符串操纵库。另一个可能是使用该字符串操纵库的webapp

这就是为什么不应该将所有依赖项放在一个pom中:您的字符串操作库不应该仅仅因为不相关的pom是一个webapp而引用servlets.jar每个工件在其类路径中应该只有它需要的东西。

(您可能有兴趣了解标签,但它与您的问题没有直接关系。)

  • Maven项目中的这些pom.xml文件应该放在哪里
正如@MariuszS链接到的,这里是

在描述项目的顶级文件中:一个pom.xml文件(以及任何属性,maven.xml或build.xml,如果使用Ant)。此外,还有一些文本文档,用户可以在收到源代码后立即阅读:README.txt、LICENSE.txt等


我将深入研究这些链接。现在我有一个简单的问题-如果我有所有库的pom.xml文件,这些文件应该放在项目中的什么位置?Maven有本地存储库(HOME/.m2/repository)的概念。构建项目时,库将从本地存储库复制到您的工件。库没有存储在VCS中(SVN、GIT等)。对不起,我的意思是这些多个pom.xml文件应该放在Maven项目中的什么位置(不是库的JAR,我知道本地存储库的概念)。答案中添加了指向示例多模块项目的链接
pom.xml
位于不同的目录中。整个项目有树状结构。对不起,英语不是我的主要语言,对我来说最好的帮助是展示一个包含多个pom.xml文件的示例项目,可能是在GitHub上?我将尝试找到这样的项目,并找出它的目录结构。