maven多模块使用,父模块(modules使用,package替pom),子模块(parent使用)

Maven多模块项目

  Maven多模块项目,适用于一些比较大的项目,通过合理的模块拆分,实现代码的复用,便于维护和管理。尤其是一些开源框架,也是采用多模块的方式,提供插件集成,用户可以根据需要配置指定的模块。

  项目结构如下:

      test-hd-parent   (父级)
             ---pom.xml
             ---test-hd-api          (第三方接口层)
                    ----pom.xml    
           ---test-hd-foundation     (基础工具层)
                    ----pom.xml
             ---test-hd-resource     (资源层) 
                    ----pom.xml
             ---test-hd-service       (逻辑业务层)
                    ----pom.xml
           ---test-hd-modules     (web层)
                    ----pom.xml
                ---test-hd-www         (web模块1)
                            ----pom.xml
                ---test-hd-admin        (web模块2)
                            ----pom.xml     

创建一个父maven工程

  •   新建一个maven项目,选择存储位置,并选择创建一个简单的maven工程

    maven多模块使用,父模块(modules使用,package替pom),子模块(parent使用)_第1张图片maven多模块使用,父模块(modules使用,package替pom),子模块(parent使用)_第2张图片

  •   输入Group Id、Artifact Id、Packaging,packaging选择pom包

    maven多模块使用,父模块(modules使用,package替pom),子模块(parent使用)_第3张图片

  •   生成父工程,pom.xml如下

    maven多模块使用,父模块(modules使用,package替pom),子模块(parent使用)_第4张图片

  •   删除工程中的src 目录

    maven多模块使用,父模块(modules使用,package替pom),子模块(parent使用)_第5张图片

创建子模块

  •   右击父工程名---》New---》Project,然后选择新建一个maven module工程

    maven多模块使用,父模块(modules使用,package替pom),子模块(parent使用)_第6张图片maven多模块使用,父模块(modules使用,package替pom),子模块(parent使用)_第7张图片

  •   设置子工程名以及父工程,再设置快速创建模式

    maven多模块使用,父模块(modules使用,package替pom),子模块(parent使用)_第8张图片maven多模块使用,父模块(modules使用,package替pom),子模块(parent使用)_第9张图片

  •   得到子工程(test-hd-api,第三方接口层),设置编译的jdk

    maven多模块使用,父模块(modules使用,package替pom),子模块(parent使用)_第10张图片maven多模块使用,父模块(modules使用,package替pom),子模块(parent使用)_第11张图片

  •   同理设置,子模块:test-hd-foundation(基础工具层)、test-hd-resource(资源层) 、test-hd-service(逻辑业务层)
  •   新建test-hd-modules (web层),选择创建一个a simple project,输入Group Id、Artifact Id、Packaging,packaging选择pom包

        maven多模块使用,父模块(modules使用,package替pom),子模块(parent使用)_第12张图片maven多模块使用,父模块(modules使用,package替pom),子模块(parent使用)_第13张图片

创建web子模块

  •   web子模块在建在test-hd-modules (web层)里面,右击test-hd-modules 工程名---》New---》Project,然后选择新建一个maven module工程,设置子工程名以及父工程,选择新建web项目

    maven多模块使用,父模块(modules使用,package替pom),子模块(parent使用)_第14张图片

  •   配置maven web项目,参照:【Maven】Eclipse 使用Maven创建Java Web项目
  •   同理可以配置其他的web子模块   test-hd-admin(web模块2)

    maven多模块使用,父模块(modules使用,package替pom),子模块(parent使用)_第15张图片

 

配置个模块的依赖

  •   在parent项目pom.xml中建立依赖管理(dependencyManagement)

    复制代码

     1 
     3     4.0.0
     4     com.hd
     5     test-hd-parent
     6     0.0.1-SNAPSHOT
     7     pom
     8     
     9         test-hd-api
    10         test-hd-service
    11         test-hd-resource
    12         test-hd-foundation
    13         test-hd-modules
    14     
    15 
    16 
    17     
    18     
    19 
    20         
    21             
    22             
    23                 com.hd
    24                 test-hd-api
    25                 0.0.1-SNAPSHOT
    26             
    27 
    28             
    29                 com.hd
    30                 test-hd-service
    31                 0.0.1-SNAPSHOT
    32             
    33 
    34             
    35                 com.hd
    36                 test-hd-resource
    37                 0.0.1-SNAPSHOT
    38             
    39 
    40             
    41                 com.hd
    42                 test-hd-foundation
    43                 0.0.1-SNAPSHOT
    44             
    45 
    46             
    47             
    48                 javax.servlet
    49                 javax.servlet-api
    50                 3.0.1
    51                 provided
    52             
    53             
    54                 javax.servlet.jsp
    55                 jsp-api
    56                 2.2
    57                 provided
    58             
    59 
    60             
    61             
    62                 javax.servlet
    63                 jstl
    64                 1.2
    65             
    66 
    67             
    68                 taglibs
    69                 standard
    70                 1.1.2
    71             
    72 
    73             
    74                 junit
    75                 junit
    76                 3.8.1
    77                 test
    78             
    79 
    80         
    81     
    82 
    83 

    复制代码

     

  •     test-hd-foundation中的依赖

    复制代码

     1 
     2 
     5     4.0.0
     6     
     7         com.hd
     8         test-hd-parent
     9         0.0.1-SNAPSHOT
    10     
    11     test-hd-foundation
    12 
    13     
    14 
    15         
    16         
    17             javax.servlet
    18             jstl
    19         
    20 
    21         
    22             taglibs
    23             standard
    24         
    25 
    26         
    27             junit
    28             junit
    29         
    30     
    31 
    32     
    33         
    34             
    35             
    36                 org.apache.maven.plugins
    37                 maven-compiler-plugin
    38                 2.3.2
    39                 
    40                     1.7
    41                     1.7
    42                 
    43             
    44         
    45     
    46 

    复制代码

     

  •     test-hd-api中的依赖关系

     View Code

     

  •     test-hd-resource中的依赖关系

     View Code

     

  •     test-hd-service中的依赖关系

     View Code

     

  •   test-hd-module中的依赖关系

     View Code

     

  •     test-hd-www中的依赖关系

     View Code

     

  •     最后使用maven-update整个工程,右击父工程名--》Maven--》Update Project

    maven多模块使用,父模块(modules使用,package替pom),子模块(parent使用)_第16张图片

打包和发布

  •   打包,右击父工程名 test-hd-parent---->Run As--->Maven Install

   maven多模块使用,父模块(modules使用,package替pom),子模块(parent使用)_第17张图片maven多模块使用,父模块(modules使用,package替pom),子模块(parent使用)_第18张图片

 

  •   打包web子工程,右击工程名test-hd-www--->Run As ---> Maven Build...---> Goals: clean package--->Run

    maven多模块使用,父模块(modules使用,package替pom),子模块(parent使用)_第19张图片maven多模块使用,父模块(modules使用,package替pom),子模块(parent使用)_第20张图片  

      maven多模块使用,父模块(modules使用,package替pom),子模块(parent使用)_第21张图片

 

  •   右击工程名test-hd-www,进行刷新,找到war包,放到tomcat的webapps中,启动tomcat,即可访问工程http://localhost:8080/test-hd-www

    maven多模块使用,父模块(modules使用,package替pom),子模块(parent使用)_第22张图片maven多模块使用,父模块(modules使用,package替pom),子模块(parent使用)_第23张图片

  •   可以去tomcat下面webapps》test-hd-www》WEB-INF》lib中,看到引用的jar包

    maven多模块使用,父模块(modules使用,package替pom),子模块(parent使用)_第24张图片

你可能感兴趣的:(Maven)