【问题标题】:Maven Pom files organisationMaven Pom 文件组织
【发布时间】:2011-04-12 11:15:09
【问题描述】:

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

Reactor1(只是 pom.xml) |-- war1 (gwt 相关的东西) `-- jar1 (Spring, hibernate 等)

和另一个项目但结构完全一样

Reactor2(只是 pom.xml) |-- war2 (gwt 相关的东西) `-- jar2 (Spring, hibernate 等)

虽然是独立的,但它们是同一业务项目的一部分。一个是报告项目,另一个是 CMS。我想集中所有主要依赖项,例如 GWT、Spring、Hibernate(显然是核心依赖项)。所以我在想这样一棵树。

父级(GWT ,弹簧,休眠) |-- Reactor1 (只是 pom.xml) | |-- war1(来自父级的 gwt 内容) | `-- jar1(来自父级的 Spring、hibernate 等) `-- Reactor2(只是 pom.xml) |-- war2(来自父级的 gwt 相关内容) `-- jar2(来自父级的 Spring、hibernate 等)

如果我走在正确的道路上,有人可以给我建议。我只是在想这个war文件也得到了它不需要的依赖项(比如spring和hibernate等),就像明智的jars得到了他们不需要的gwt这样的依赖项。有没有关系?还是我在这里切线:)。任何建议将不胜感激。 (我知道我的格式看起来很糟糕,但我希望它有意义)

【问题讨论】:

    标签: maven-2 pom.xml


    【解决方案1】:

    如果我走在正确的道路上,有人可以给我建议吗?

    我认为你绝对是在正确的道路上。只需创建这个 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>
    

    参考文献

    【讨论】:

      猜你喜欢
      • 2012-12-25
      • 2016-12-24
      • 2011-10-05
      • 1970-01-01
      • 1970-01-01
      • 2011-04-12
      • 2016-06-27
      • 2020-04-18
      • 2019-08-07
      相关资源
      最近更新 更多