代码之家  ›  专栏  ›  技术社区  ›  Konrad Garus

Maven-一个包包含多个模块

  •  1
  • Konrad Garus  · 技术社区  · 14 年前

    我有一个网络应用程序,我想分为三部分。我注意到它有两个完全不同的功能,但是核心架构(表示层中使用的libs、Spring容器、DAO等)是共享的。

    其中一个将是“主”,从表示到DAO都有完整的垂直堆栈,但只适用于所有“子项目”的公共堆栈。

    另外两个模块本身就是“子项目”。

    war
     + WEB-INF
       + classes
         + subproject1
         + subproject2
     + view-shared
       + css
         + ...
       + js
         + ...
     + subproject1
       + myPage.jsp
     + subproject2
       + anotherPage.jsp
    

    你明白了。

    2 回复  |  直到 14 年前
        1
  •  3
  •   Romain Linsolas    14 年前

    您可以使用Maven程序集插件来完成。

    • A. common 项目(包装) jar )
    • A. subproject1 (包装) war 常见的
    • A. subproject2 (包装) )那已经 常见的
    • 最后,一个 web 项目(包装) 战争 子项目1 子项目2 作为依赖项。

    Maven什么时候建造 网状物 项目,它将首先解压两者 子项目1 子项目2 世界上的战争 web/target 目录,然后复制 将自己投射到 target 目录

    这意味着如果文件存在于 子项目1 项目,然后由 将删除 子项目1

    Maven WAR overlays .

        2
  •  0
  •   Thomas Lötzer    14 年前

    是的,你可以用 maven assembly plugin . 为这三个模块分别构建maven模块,再加上一个forth模块,该模块依赖于其他模块,并使用汇编插件构建所需的结构。