我最近在 Maven 项目领域的学习越来越多,我想用它来实现我想解决的想法。这个问题与我将使用的结构有关,如何有效地构建 Maven 项目。
我对结构的看法如下:
- MyProject
|
|_Frontend
| |
| |_Window
| | |_pom.xml
| |...
| |_pom.xml
|
|_Backend
| |
| |_Database
| | |_pom.xml
| |...
| |_pom.xml
|
|_pom.xml
和MyProject
的父级在哪里。对于所有这些包装将设置为. 最后,在和将包含的代码,在这里例如一个项目的项目和项目(在实际当然会有更多比只是一个项目和,这只是用于可视化)。来自 的项目可能依赖于来自 的项目。Frontend
Backend
pom
Frontend
Backend
Window
Database
Frontend
Backend
Frontend
Backend
我会成立Frontend
,并Backend
作为<module>
S IN的MyProject
父POM,所有项目Frontend
作为<module>
S IN的Frontend
POM,同样的协议进行Backend
。然后我会在的 POM元素中添加<dependencies>
forBackend
项目,这样我就可以在项目中单独添加所需的依赖项。(对于此示例,主要将在项目中)<dependencyManagement>
Frontend
Frontend
Window
所以我的问题是:如何构建它以便它可以用作程序?
我对 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] 删除。
我来说两句