Maven 2 Maven Pom文件组织

Maven 2 Maven Pom文件组织,maven-2,pom.xml,Maven 2,Pom.xml,我有两个独立的基于gwt的项目使用pom聚合,所以总共有四个项目(或模块)。这棵树看起来像这样 Reactor1(just pom.xml) |-- war1 (gwt related stuff) `-- jar1 (Spring , hibernate etc) Parent(GWT ,SPring,Hibernate) |-- Reactor1 (just pom.xml) | |-- war1 (gwt stuff from parent) | `-- jar1 (Sp

我有两个独立的基于gwt的项目使用pom聚合,所以总共有四个项目(或模块)。这棵树看起来像这样

Reactor1(just pom.xml) |-- war1 (gwt related stuff) `-- jar1 (Spring , hibernate etc) Parent(GWT ,SPring,Hibernate) |-- Reactor1 (just pom.xml) | |-- war1 (gwt stuff from parent) | `-- jar1 (Spring , hibernate etc from parent) `-- Reactor2 (just pom.xml) |-- war2 (gwt related stuff from parent) `-- jar2 (Spring , hibernate etc from parent) Reactor1(仅pom.xml) |--war1(gwt相关材料) `--jar1(春天、冬眠等) 和另一个项目,但结构完全相同

Reactor2(just pom.xml) |-- war2 (gwt related stuff) `-- jar2 (Spring , hibernate etc) Reactor2(仅pom.xml) |--war2(gwt相关材料) `--jar2(春天、冬眠等) 虽然他们是独立的,但他们是同一个商业项目的一部分。一个是reporting project,另一个是CMS。我想集中所有主要的依赖项,例如GWT、Spring、Hibernate(显然是核心依赖项)。所以我想到了一棵这样的树

Reactor1(just pom.xml) |-- war1 (gwt related stuff) `-- jar1 (Spring , hibernate etc) Parent(GWT ,SPring,Hibernate) |-- Reactor1 (just pom.xml) | |-- war1 (gwt stuff from parent) | `-- jar1 (Spring , hibernate etc from parent) `-- Reactor2 (just pom.xml) |-- war2 (gwt related stuff from parent) `-- jar2 (Spring , hibernate etc from parent) 父级(GWT、SPring、Hibernate) |--Reactor1(仅pom.xml) ||--war1(来自家长的gwt材料) |`--jar1(来自父级的Spring、hibernate等) `--Reactor2(仅pom.xml) |--war2(来自母公司的gwt相关材料) `--jar2(来自父级的Spring、hibernate等) 如果我在正确的道路上,请有人给我建议。我只是在想,war文件这也得到了它不需要的依赖项(比如spring和hibernate等),就像wise jar得到了它们不需要的依赖项,比如gwt。这有关系吗?或者我在切线上:)。任何建议都将不胜感激。(我知道我的格式看起来很糟糕,但我希望它有意义)

如果我在正确的道路上,请有人给我建议

我认为你绝对走在正确的道路上。只需创建这个聚合pom的父级,并在
dependencyManagement
元素下声明GWT、Spring和Hibernate依赖项

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.acme.business</groupId>
  <artifactId>parent</artifactId>
  <version>1.0.0</version>
  ...
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>3.5.5-Final</version>
      </dependency>
      ...
    <dependencies>
  </dependencyManagement>
  ...
</project>

4.0.0
com.acme.business


  • 马文:权威指南