0

这是我的文件系统设置:

.m2/                 <--- Local Directory
app/
    pom.xml
    module1/
    module2/
    module3/
    target/          <--- Package directory

问题一

在 parentpom.xml中,它具有所有模块所依赖的依赖项。但是,当它进入compile阶段时,module2将需要依赖刚刚编译的东西,module1并且module3需要依赖module2. 如果不创建两个或三个“maven 项目”,您将如何做到这一点?是否可以一次单独运行每个模块上的compileinstallpackage阶段(我宁愿做这个解决方案)?

问题 B

另外,我知道当您install使用模块时,所有“东西”都会更新并添加到本地存储库中。当您处于compile阶段时,默认情况下,它会从本地存储库中获取它需要依赖的所有内容(如果我错了,请纠正)。另外,如果我能够实现Question A,而不是使用本地 repo 来获取我的依赖项所需的所有信息,是否可以使用打包target目录中的相同文件来代替?

这些问题可以通过简单的 pom 操作和/或添加插件来回答吗?如果这是可能的,我将如何去做?

4

1 回答 1

1

Maven 是基于一个项目-一个工件的想法构建的。在您描述的情况下,您通常会做的是在每个模块中创建一个单独的 POM,并将顶级 POM 指定为父级。然后,每个子模块将继承父模块的依赖关系,并可以自由添加额外的模块特定依赖关系。然后在顶层 Pom 中使用声明来声明三个子模块。

一个关键优势是,如果子模块之间存在依赖关系(如您所描述的),那么 maven 将根据这些依赖关系自动找出构建它们的正确顺序。

于 2013-01-24T04:41:29.897 回答