我希望创建一个Web项目,
这个网络项目将有几个模块
- M1
- 平方米
- 立方米
- M4
- M5
我的网络项目是maven项目,所以我读到了关于多模块项目的信息。
我的问题是
我可以将我的网络项目打包成单独的战争,以便P1包含{m1,m2,m3},而P2包含{m1,m4,m5}
他们是否有任何关于设计m1,m2 ... m5
如何为此类项目模块设置构建过程
答案 0 :(得分:1)
对于您的请求,您应该创建项目的结构,如下所示:
+-- root (pom.xml)
+-- m1 (pom.xml)
+-- m2 (pom.xml)
+-- m3 (pom.xml)
+-- m4 (pom.xml)
+-- m5 (pom.xml)
+-- P1 (pom.xml)
+-- P2 (pom.xml)
并且在P1中,您只需将依赖项提供给您希望打包到此模块中的模块,如下所示:
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>module-one</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>module-two</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>module-three</artifactId>
<version>${project.version}</version>
</dependency>
...
</dependencies>
如果您希望P2中具有不同的依赖关系,只需在P2中提供其他依赖关系即可。 根据你的第二个问题,我只能说就像在java中一样做得最好。使用接口来解耦模块等。并根据一般意图/功能分离模块,如:
+-- core
+-- base
+-- web1
+-- api
等。一般来说很难回答这个问题,如果没有任何实际意义可能会给出一个例子可能有所帮助。 对于你的第三个问题,我可以推荐阅读Maven Complete Reference等,不要忘记关于maven等的网站。