我想问一下与Maven项目中的pom.xml文件有关的这些问题。
pom.xml
而不是在一个pom.xml
中拥有所有依赖项的原因是什么?pom.xml
文件应该放在哪里?这是Spring框架的pom.xml示例 - http://search.maven.org/remotecontent?filepath=org/springframework/spring-core/3.2.5.RELEASE/spring-core-3.2.5.RELEASE.pom
答案 0 :(得分:6)
- 为所有依赖库创建多个pom.xml而不是在一个pom.xml中包含所有依赖项的原因是什么?
maven项目可以由许多工件组成。一个工件可能是String操作库。另一个可能是使用该String操作库的webapp。
这就是为什么你不应该将所有依赖项放在一个pom中:你的String操作库不应该只是因为一个不相关的pom是webapp而引用了servlets.jar。 每个工件应该只在其类路径中具有所需的。
(您可能有兴趣了解dependencyManagement标记,但它与您的问题没有直接关系。)
- Maven项目中的这些pom.xml文件应该放在哪里?
@MariuszS链接到,这里是the Standard Directory Layout。
描述项目的顶级文件: pom.xml文件(以及任何属性,maven.xml或build.xml,如果使用Ant)。此外,还有一些文本文件供用户在接收来源时立即阅读:README.txt,LICENSE.txt等。
答案 1 :(得分:3)
这取决于您的项目,如果项目很小并且该项目(工件)的产品只有一个,那么一个pom就足够了。但是,如果您的项目有许多工件(库,WAR,EAR等),则需要(通常)每个工件pom。
Maven概念是一个项目定义(POM)只生成一个工件(有例外)。如果需要,每个项目都应该有单独的目录pom.xml
内部和源目录。
一个maven项目可以构建两个不同的应用程序(例如桌面和webapp)。这种不同的应用程序具有差异依赖性。
示例多模块项目结构:https://github.com/peter-lawrey/Java-Chronicle