apr*_*poz 13 java dependencies maven-2 aggregation
我是Maven的新手,我刚刚尝试建立我的第一个项目树.我很难理解两种选择之间的区别:
我有jar和war项目(每个两个)我想捆绑.传统上我只是创建一个耳朵项目,其中所有四个都是依赖项.
现在我读到了poms的聚合,我不知道该怎么做(参见http://maven.apache.org/pom.html#Aggregation).我应该用这四个项目创建一个聚合的POM吗?
我想基本上我的问题是:如果依赖项是我自己的"项目"之一,那么模块和依赖项之间的最大区别是什么.
Sea*_*oyd 11
模块只是组织事物的一种方式.
在多模块构建中,您可以在一个步骤中构建整个工件树(请记住Joel测试).但是,这些中的每一个都是单个工件,可以单独作为依赖项引用.
这是一个示例布局,用括号括起来.
root (pom)
- project1 (jar)
- project2 (war) -> references project1 as dependency
- project3 (jar)
- project4 (war) -> references project3 as dependency
- project5 (ear) -> references project2 and project4 as dependency
Run Code Online (Sandbox Code Playgroud)
调用mvn install根目录来构建整个树.
这里假设project1仅由project2使用,project3仅由project4使用.否则这是一个更复杂的场景.
root (pom)
- project1 (jar)
- project2 (jar)
- project3 (war) -> references project1 and project2 as dependency of scope provided
- project4 (war) -> references project1 and project2 as dependency of scope provided
- project5 (ear) -> references project1 through project4 as dependency
Run Code Online (Sandbox Code Playgroud)
因此,模块会独立完成构建多个项目的工作,但您仍需要自己管理依赖项.
| 归档时间: |
|
| 查看次数: |
4833 次 |
| 最近记录: |