`
xiemingmei
  • 浏览: 210561 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Maven管理多模块项目

阅读更多
   首先,我们要明确的多模块项目的含义,它是指一个应用中包含多个module。一般来说,一个应用单独部署成服务,只是打包的时候,maven会把各个module组合在一起。各模块一般单独打成jar放到lib目录中,当然web应用也生成war包。

   这里说的多模块项目要与那种单独自立门户的多个application区分开来,多个application也可能有包级的关联,但是它们各自分开了,不属于多模块项目的范畴。

   maven对多模块项目的管理大概是这样的,它存在一个parent模块,但实际没有程序代码,只包含一个pom.xml,该pom是用来给子模块来引用的。
   目录结构与下面的类似:
    simple-parent
    +-simple-weather
         +-src
         +-target
         \-pom.xml
    +-simple-webapp
         +-src
         +-target
         \-pom.xml
    \-pom.xml
在这个目录结构中,一个父模块包含了两个子模块。
各个pom.xml的内容大致如下:
pom.xml:
  <modules>
 <groupId>org.sonatype.mavenbook.multi</groupId> 
  <artifactId>parent</artifactId> 
  <version>0.8-SNAPSHOT</version> 
  <packaging>pom</packaging> 
  <module>simple-weather</module> 
  <module>simple-webapp</module> 
  </modules>
 <dependencies>
  <dependency>
  <groupId>velocity</groupId> 
  <artifactId>velocity</artifactId> 
  <version>1.5</version> 
  </dependency>
  </dependencies>

simple-weather/pom.xml:
 
<parent>
  <groupId>org.sonatype.mavenbook.multi</groupId> 
  <artifactId>simple-parent</artifactId> 
  <version>0.8-SNAPSHOT</version> 
  </parent>
 <dependencies>
 <dependency>
  <groupId>junit</groupId> 
  <artifactId>junit</artifactId> 
  <version>3.8.1</version> 
  <scope>test</scope> 
  </dependency>
  </dependencies>

simple-webapp/pom.xml:
 <parent>
  <groupId>org.sonatype.mavenbook.multi</groupId> 
  <artifactId>simple-parent</artifactId> 
  <version>0.8-SNAPSHOT</version> 
  </parent>
 <dependencies>
 <dependency>
  <groupId>org.apache.geronimo.specs</groupId> 
  <artifactId>geronimo-servlet_2.4_spec</artifactId> 
  <version>1.1.1</version> 
  </dependency>
  </dependencies>


如果按父pom.xml打包,会输出 simple-weather**.jar,simple-webapp**.war两个包;
如果按simple-weather/pom.xml打包,则只会输出 simple-weather**.jar;
如果按simple-webapp/pom.xml打包,则只会输出 simple-webapp**.war。

另外,子模块会继承父模块的包依赖,使用mvn dependency:tree可以查看各个模块的包依赖列表,simple-weather,simple-webapp项目都有引用到 velocity包。

虽然这是一个application下包含了多个module的结构,但是在eclipse中,还是得对每个子module单独建project来管理源码。具体可以分别在simple-weather、simple-webapp目录下使用mvn eclipse:eclipse来创建eclipse project,创建完毕后,你就可以在文件.classpath中看到,包依赖关系已经按照pom.xml中的配置自动生成了。







分享到:
评论
1 楼 flyer2010 2011-10-03  
改天给我们介绍介绍maven热部署啊 

相关推荐

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

    Maven作为Java领域广泛使用的构建工具,以其强大的依赖管理和项目生命周期管理能力,成为多模块项目管理的理想选择。本教程将详细介绍如何使用Maven来管理多模块项目,并指导如何进行项目的启动与调试。 首先,理解...

    使用Maven构建多模块项目

    Maven作为Java领域广泛使用的构建工具,提供了强大的支持来管理多模块项目。本文将深入探讨如何利用Maven构建多模块项目,以及在实际操作中需要注意的关键点。 1. Maven多模块项目结构: Maven多模块项目通常遵循...

    maven 模块化项目demo

    通过这个“maven 模块化项目demo”,开发者可以学习如何划分项目结构,如何配置POM文件,以及如何利用Maven管理多模块项目。这有助于提升开发效率,降低维护成本,同时便于团队协作,因为每个人都只需要关注自己负责...

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

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

    maven构建多模块项目

    总结来说,Maven构建多模块项目能够帮助开发者有效地组织大型项目,通过父子项目结构和依赖管理,实现模块间的解耦和协同开发。"simple-parent"项目就是一个典型的例子,它展示了如何创建和管理一个包含多个子模块的...

    maven多模块项目

    Maven多模块项目是一种高效组织大型Java项目的方式,它允许我们将一个复杂的系统分解为多个相互依赖的独立模块,每个模块专注于特定的...通过合理规划和精心管理,Maven多模块项目能帮助团队高效地构建复杂的应用程序。

    使用maven创建多模块项目

    在当今的软件开发领域,Java作为一种编程语言广泛应用于...通过上述步骤和注意事项,可以高效地使用Maven管理一个复杂的多模块Java项目。这样的管理方式不仅可以提升开发效率,还可以确保项目结构的清晰和维护的便利。

    北京动力节点-郭鑫-Maven管理多模块应用.pdf

    Maven支持多模块项目管理,可以帮助开发者更好地组织代码、依赖关系和构建过程。 在介绍Maven管理多模块应用的场景描述中,提到了几个关键的模块构成: ***monModel:这是一个提供公共基础服务的模块,它包含了...

    maven多模块项目构建过程

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

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

    在多模块项目中,Maven的依赖管理能确保所有模块使用的一致性。通过父模块的`dependencyManagement`部分,可以集中定义所有依赖的版本,避免版本冲突。子模块只需声明依赖,而无需指定版本。 六、构建与编译 使用...

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

    Maven多模块项目是一种高效、组织有序的Java项目结构,它允许开发者将大型项目分解为多个独立的、可管理的小模块,每个模块都有自己的特定功能,同时又可以协同工作。这样的结构便于代码重用、模块化开发和独立部署...

    Maven构建多模块项目

    总结来说,Maven构建多模块项目的能力使得大型项目的管理变得有序且高效。`demo-parent`实例展示了如何设置和组织这样的项目,通过父子模块间的继承关系,统一管理和共享资源。掌握这一技能对于任何Java开发者来说都...

    maven安装 多模块项目

    maven安装 多模块项目 仓库管理器Nexus 多模块项目

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

    ### Maven建立多模块项目知识点详解 #### 一、Maven与多模块项目基础概念 - **Maven**:Apache Maven 是一款项目管理和构建工具,基于项目对象模型(POM),通过一组规范完成项目的构建、报告和文档。Maven 的目标...

    maven构建 多模块项目

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

    maven分模块小demo

    总结来说,"maven分模块小demo"是一个典型的Maven多模块项目示例,它演示了如何利用Maven进行项目结构的划分、依赖管理、构建和部署。对于初学者而言,这是一个理解Maven工作原理和实践项目组织的良好起点。通过深入...

    maven多模块空项目

    下面我们将深入探讨Maven多模块项目的概念、优势以及如何进行配置和管理。 一、Maven多模块项目概述 Maven多模块项目是Maven项目结构的一种高级形式,允许将一个大的项目分解为多个相互依赖的小模块。每个模块都有...

    Maven 多模块项目

    【Maven 多模块项目】是一个使用 Maven 构建的软件开发项目,旨在实现模块化、可维护的代码结构。Maven 是一个流行的构建工具,它通过管理项目的依赖关系、构建流程以及提供标准化的项目结构,帮助开发者更高效地...

    如何提高Maven多模块项目编译速度.docx

    以下是一些优化Maven多模块项目编译速度的策略: 1. **利用多核CPU并行编译**: Maven的 `-T` 参数可以用来指定并发编译的线程数。例如,`-T 4C` 表示使用4个CPU核心进行并行编译,这样能充分利用硬件资源,加快...

Global site tag (gtag.js) - Google Analytics