我有两个独立的基于gwt的项目使用pom聚合,所以总共有四个项目(或模块)。树看起来像这样。
Reactor1(just pom.xml) |-- war1 (gwt related stuff) `-- jar1 (Spring , hibernate etc)
和另一个项目但结构完全相同
Reactor2(just pom.xml) |-- war2 (gwt related stuff) `-- jar2 (Spring , hibernate etc)
在独立时,他们是同一商业项目的一部分。一个是报告项目,另一个是CMS。我想集中所有主要的依赖项,例如GWT,Spring,Hibernate(显然是核心的)。所以我在想这样一棵树。
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)
如果我走在正确的道路上,有人可以建议我。我只是认为war文件这也得到了它不需要的依赖(如spring和hibernate等),就像明智的jars正在获得他们不需要的gwt之类的依赖。这有关系吗?或者我在这里切线:)任何建议都会非常感激。 (我知道我的格式看起来很糟糕,但我希望它有意义)
答案 0 :(得分:2)
如果我走在正确的道路上,有人可以建议我。
我认为你肯定是在正确的道路上。只需创建此 Parent 聚合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>
然后,在子项目中,您可以使用以下声明添加对Hibernate Core的依赖:
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.acme.business</groupId>
<artifactId>reactor-1</artifactId>
<version>1.0.0</version>
</parent>
<artifactId>jar1</artifactId>
...
<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
</dependency>
</dependencies>
</project>