Maven构建多模块项目

thoral_

我最近在 Maven 项目领域的学习越来越多,我想用它来实现我想解决的想法。这个问题与我将使用的结构有关,如何有效地构建 Maven 项目。

我对结构的看法如下:

- MyProject
  |
  |_Frontend
  | |
  | |_Window
  | | |_pom.xml
  | |...
  | |_pom.xml
  |
  |_Backend
  | |
  | |_Database
  | | |_pom.xml
  | |...
  | |_pom.xml
  |
  |_pom.xml

MyProject的父级在哪里对于所有这些包装将设置为. 最后,在将包含的代码,在这里例如一个项目的项目和项目(在实际当然会有更多比只是一个项目,这只是用于可视化)。来自 的项目可能依赖于来自 的项目FrontendBackendpomFrontendBackendWindowDatabaseFrontendBackendFrontendBackend

我会成立Frontend,并Backend作为<module>S IN的MyProject父POM,所有项目Frontend作为<module>S IN的FrontendPOM,同样的协议进行Backend然后我会在的 POM元素中添加<dependencies>forBackend项目,这样我就可以在项目中单独添加所需的依赖项(对于此示例,主要将在项目中)<dependencyManagement>FrontendFrontendWindow

所以我的问题是:如何构建它以便它可以用作程序?

我对 Maven 比较陌生,所以我不太熟悉整个构建理念。我得到了它的好处,因此我想使用它,但我不确定如何在这样的项目中实现我想要的。我在网上搜索了答案,但我的措辞可能太糟糕了,因为我找不到我需要的答案。因此,如果有一篇文章或答案适用于此处,也可以链接它,但是如果这里有人愿意花时间对这个特定问题进行更深入的解释,我不会抱怨^ ^。

所以感谢您的任何答案。

杰罗德·布罗瑟

你想到的结构看起来很合理。我正在向您的图表添加一些详细信息:

+- myProject 
   +- pom.xml  ... <packaging>pom, aggregator (<modules>) of frontend & backend
   |
   +- frontend
   |  +- pom.xml  ... <parent>myProject, <packaging>pom, aggregator (<modules>) of window & ***
   |  |  
   |  +- window
   |  |  +- pom.xml  ... <parent>frontend
   |  |
   |  +- ***
   |     +- pom.xml  ... <parent>frontend
   |
   +- backend
      +- pom.xml  ... <parent>myProject, <packaging>pom, aggregator (<modules>) of database & ***
      |
      +- database
      |  +- pom.xml  ... <parent>backend
      |
      +- ***
         +- pom.xml  ... <parent>backend

只是为了澄清,关于“MyProject将是父 [...] 包装将设置为pom. “,请参阅POM 参考、继承聚合此答案

长话短说,有以下关系:

  • Aggregator¹ ( <packaging>pom) → (sub-)modules ... 对于,好吧,聚合(子)模块
  • 父项目 ( <packaging>pom¹|jar|war|...) ← 子项目 ... 用于继承(从父到子的 POM 配置)

因此,<packaging>pom由于MyProject是父级,因此不需要,但因为它是聚合器。事实上,父项目对其子项目一无所知。只有子项目声明<parent>....

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章