Maven多个模块层次结构

时间:2018-12-06 14:26:09

标签: maven multi-module

我不确定如何构建多模块Maven项目。基本上,我有4个不同的模块。

  1. var options = { 'method': 'post', 'contentType': 'application/json', 'headers': { 'cookie': 'JSESSIONID=D55B09A9076826AB6FC35B79B803C3F4; Path=/lambdapath; Secure; HttpOnly,authash=29cb2e5466f8a923da588fa55914fd72' }, 'payload' : JSON.stringify(body) } 模块
  2. main模块
  3. input-handler模块
  4. output-handler模块

模块utilsinput-handler大多使用相同的依赖项-一些I / O库,JUnit库,DI库等。

output-handler模块是我作为其他三个模块的支持模块开发的模块,每个模块都应该能够看到它。

最后,utils模块的行为类似于驱动程序模块。它应同时包含maininput-handler并在运行时进行协调以实现常规功能。

我的想法是使output-handler成为父项目,然后使mainoutput-handler作为其子模块,这样它们将继承一些共享的依赖关系-但是input-handler应该包含自己的子模块以便使用它们-这似乎是循环依赖问题。

正确的结构是什么?

1 个答案:

答案 0 :(得分:0)

将模块放在一个文件夹(这将是父项目)中,然后在此文件夹中创建pom.xml文件,内容应类似于:

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                             http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>parent-project-id</groupId>
    <artifactId>simple-parent</artifactId>
    <packaging>pom</packaging>
    <version>1.0</version>
    <name>Multi Chapter Simple Parent Project</name>

    <modules>
        <module>utils</module>
        <module>input-handler</module>
        <module>output-handler</module>
        <module>main</module>
    </modules>
</project>

之后,您可以在父项目文件夹中运行mvn clean install,并且您的模块将按照您想要的顺序进行编译。