`
renft
  • 浏览: 7356 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

maven module创建多模块项目

阅读更多

     通常业务模块多,规模庞大的系统都是有多个团队协力开发的,每个开发团队开发划分好的的业务模块。但是各个模块之间还有可能有互相调用依赖的关系,maven的多module特性可以很好解决这个问题,更合理的组织各个业务模块的代码。下面就介绍下maven module项目的创建。

 

创建一个maven工程module_test,4个module,结构参考下面。

maven_module

├─dao

│  

├─service

│  

├─web

└─domain

 

1、New一个mavenproject,选择Create a simple project。



 

 

然后删除src和target目录,只保留pom.xml文件。注意下parentProject,packing 选择 POM

然后新建module(domain,dao,service,web),File→new→other→Maven→maven Module



 

module可以选择jar,war,ear等,根据项目需要和模块的特征自己选择。domain,dao,service 选择jar,web选择war。

注意module和parentproject的pom文件的变化。

parent  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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.test</groupId>
  <artifactId>maven_module</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
 <modules>
  	<module>domain</module>
  	<module>dao</module>
  	<module>service</module>
  	<module>web</module>
  </modules>
</project>

 

 domain 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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.test</groupId>
    <artifactId>maven_module</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>domain</artifactId>
</project>

 

dao 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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.test</groupId>
    <artifactId>maven_module</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>dao</artifactId>
  <dependencies>
  	<dependency>
  		<groupId>com.test</groupId>
  		<artifactId>domain</artifactId>
  		<version>0.0.1-SNAPSHOT</version>
  	</dependency>
  </dependencies>
</project>

 

service 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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.test</groupId>
    <artifactId>maven_module</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>service</artifactId>
  <dependencies>
  	<dependency>
  		<groupId>com.test</groupId>
  		<artifactId>dao</artifactId>
  		<version>0.0.1-SNAPSHOT</version>
  	</dependency>
  </dependencies>
</project>

 

web pom.xml

 

<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.test</groupId>
    <artifactId>maven_module</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>web</artifactId>
  <packaging>war</packaging>
  <name>web Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
    	<groupId>com.test</groupId>
    	<artifactId>service</artifactId>
    	<version>0.0.1-SNAPSHOT</version>
    </dependency>
  </dependencies>
  <build>
    <finalName>web</finalName>
  </build>
</project>

 

每添加一个模块,父项目就会在modules 标签下自己插入一条,子模块自动引用父项目的定义parent标签。

子模块通过parent标签,可以继承父项目所有的配置依赖信息,比如依赖的jar,父项目定义后,子模块不需要再配置了,直接用就可以了。 模块之间也可以实现层级调用依赖。比如,dao层,依赖domain的代码,可以通过<dependency>配置引入这个模块,service需要依赖dao,domain,直接引入dao模块,web需要依赖dao,domain,service,直接引入service模块。由于层级依赖关系,dao层引入了domain,在service层就不需要再引入domain层,以此类推,web层只引入service层就行了,domain,dao,service自动会被引入。

 

这样架构的好处是,共通的配置放到parent的pom里面配置即可,子模块配置自己个性化的需求就可以了,各个模块功能独立,需要的话可以灵活互相调用,父工程可以灵活组织调度各个模块实现复杂的业务需求。

 

 

 

 

 

  • 大小: 72.3 KB
  • 大小: 94.9 KB
  • 大小: 84.2 KB
分享到:
评论

相关推荐

    使用Maven构建多模块项目

    使用Maven Archetype插件可以快速创建一个多模块项目模板。首先,创建一个父项目,然后在父项目的pom.xml中添加子模块的定义,最后在父项目目录下为每个子模块生成对应的目录结构和基本的pom.xml。 4. 依赖管理: ...

    maven多模块项目(简单实例)

    本实例将详细介绍如何创建和管理一个简单的Maven多模块项目。 首先,我们要理解Maven的模块关系。在Maven中,多模块项目是由一个父模块(Parent Module)和若干子模块(Child Modules)组成。父模块主要负责定义...

    maven多模块项目构建过程

    本篇文章将详细探讨"Maven多模块项目构建过程",并结合提供的资源"搭建maven多工程模块步骤",来深入理解如何创建和管理一个包含多个子项目的Maven工程。 1. Maven多模块项目概述: Maven多模块项目是指由一个父...

    使用Maven管理进行多模块开发

    在多模块开发中,Maven项目通常采用父模块(parent)和子模块(child)的结构。例如,`app-parent`这个压缩包很可能就是一个父模块项目,包含了若干个子模块的配置信息。父模块主要用于定义共有的构建配置,如版本...

    maven创建多模块web项目.docx

    在本文中,我们将深入探讨如何使用Maven创建一个多模块的Web项目,以及Maven的标准项目结构。Maven是一个强大的构建工具,它可以帮助开发者管理和构建Java项目。通过遵循Maven的标准项目对象模型(POM),我们可以...

    maven构建多模块项目

    在Java开发中,Maven是广泛使用的项目管理..."simple-parent"项目就是一个典型的例子,它展示了如何创建和管理一个包含多个子模块的Maven项目。理解并熟练掌握这一技术,对于提升开发效率和项目管理能力具有重要意义。

     IDEA下创建多模块maven项目1

    【IDEA下创建多模块maven项目1】的教程详细介绍了如何使用IntelliJ IDEA创建一个基于Maven的多模块Java项目。这个项目由一个主工程`multi-module-Project`构成,它包含了两个子模块:`web-app`和`web-service`。 1....

    用Eclipse创建Maven多模块项目

    本篇文章将详细讲解如何在Eclipse中创建一个基于Maven的多模块项目。 首先,了解Maven的基本概念至关重要。Maven通过Project Object Model (POM)来描述项目,并利用约定优于配置的原则来简化构建过程。POM文件包含...

    eclipse 创建多模块maven项目

    ### Eclipse 创建多模块Maven项目的详细步骤 在软件开发领域,Maven作为一种自动化构建工具,因其强大的依赖管理和项目构建功能而被广泛采用。而在大型项目或微服务架构中,经常需要构建多模块项目来实现良好的代码...

    maven多模块项目工程-已搭建好

    在Eclipse中,你可以通过“New -&gt; Maven Project”创建新的Maven项目,并选择“Create a simple project”或“Create a multi-module project”来构建多模块工程。 3. **依赖管理**:在"xd-parent"的`pom.xml`中,...

    maven创建多模块项目+springMVC

    创建多模块Maven项目的第一步是定义一个父模块(Parent Module),这个父模块不包含任何代码,它的主要作用是定义共有的依赖管理和版本控制。在`pom.xml`文件中,我们需要设置`groupId`、`artifactId`和`version`,...

    使用maven管理多模块项目并启动调试-实例代码

    一个Maven多模块项目通常包含一个父项目(parent project)和若干子项目(module)。父项目主要负责定义共有的构建配置,如版本号、依赖管理和插件管理,而子项目则各自独立完成特定的功能。例如,在`test-parent`这...

    Intellj IDEA+Maven如何构建多模块项目

    在父模块项目中,右键点击"Modules",选择"New &gt; Module &gt; Maven",分别创建每个子模块,如`module1`和`module2`,并填写对应的`groupId`、`artifactId`和`version`。 4. **子模块配置** 在每个子模块的`pom.xml`...

    Maven构建多模块项目

    创建多模块项目的第一步是建立父pom.xml文件。在`demo-parent`目录下,你会看到一个pom.xml,这里定义了项目的基本信息,比如groupId、artifactId(在这个例子中可能是`com.example.demo`和`demo-parent`),以及...

    【maven】多子模块maven模板工程archetype创建过程

    而Maven的Archetype插件则可以帮助开发者快速创建新项目的模板,尤其对于有多个子模块的大型项目,能够大大提升开发效率。本篇文章将详细介绍如何使用Maven Archetype来创建一个多子模块的模板工程。 一、理解Maven...

    Maven建立多模块项目-图文并茂--入门级别.doc

    通过上述步骤,可以成功地在 Eclipse 中使用 Maven 创建一个多模块项目。这种方式不仅提高了项目的可维护性,还使得大型项目的管理变得更加简单高效。对于初学者而言,掌握这些基本操作是十分必要的。同时,在实际...

    maven多模块项目搭建

    Maven 多模块项目搭建是一个常见的Java开发任务,它允许开发者将大型项目分解成更小、更易管理的模块,每个模块专注于特定的功能或组件。在本教程中,我们将探讨如何使用Eclipse集成开发环境(IDE)和Maven插件来...

    Maven项目创建流程

    通过以上步骤,你已经成功创建了一个包含多个模块的Maven项目。这样的项目结构有助于代码的模块化,便于团队协作,并且能够有效地管理依赖关系,提高开发效率。在实际开发过程中,你可能还需要根据项目需求对`pom....

    ssm+maven多模块项目搭建

    在"ssm+maven多模块项目搭建"中,我们将创建多个独立的模块,每个模块负责特定的功能,如:业务服务模块、数据访问模块、Web前端模块等。这样可以提高代码的可重用性和可扩展性,便于团队协作。 **步骤一**:创建父...

    maven构建 多模块项目

    Maven构建多模块项目是软件开发中的常见实践,尤其在大型复杂项目中,通过模块化管理可以提高代码组织的清晰度和可维护性。Maven是一个强大的项目管理和构建工具,它通过POM(Project Object Model)文件来管理项目...

Global site tag (gtag.js) - Google Analytics