博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Maven多模块项目
阅读量:6447 次
发布时间:2019-06-23

本文共 14110 字,大约阅读时间需要 47 分钟。

  hot3.png

最近一周在把项目多模块化,看了很多文章,还是下面这篇有用,而且也成功了,代码就懒得黏贴,直接下载即可:

1    原版 

  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工程

    

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

    

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

    

  •   删除工程中的src 目录

    

创建子模块

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

    

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

    

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

    

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

        

创建web子模块

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

    

  •   配置maven web项目,参照:
  •   同理可以配置其他的web子模块   test-hd-admin(web模块2)

    

 

配置个模块的依赖

  •   在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.741
    1.7
    42
    43
    44
    45
    46

    复制代码

     

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

    复制代码

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

    复制代码

     

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

    复制代码

    1 
    2
    5
    4.0.0
    6
    7
    com.hd
    8
    test-hd-parent
    9
    0.0.1-SNAPSHOT
    10
    11
    test-hd-resource
    12
    13 14
    15
    junit
    16
    junit
    17
    18
    19 20
    21
    22
    23
    24
    org.apache.maven.plugins
    25
    maven-compiler-plugin
    26
    2.3.2
    27
    28
    1.729
    1.7
    30
    31
    32
    33
    34

    复制代码

     

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

    复制代码

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

    复制代码

     

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

    复制代码

    1 
    2
    4
    4.0.0
    5
    6
    com.hd
    7
    test-hd-parent
    8
    0.0.1-SNAPSHOT
    9
    10 11
    test-hd-modules
    12
    pom
    13 14
    15
    test-hd-www
    16
    test-hd-admin
    17
    18 19
    20 21
    22
    com.hd
    23
    test-hd-foundation
    24
    25 26
    27
    com.hd
    28
    test-hd-service
    29
    30
    31
    com.hd
    32
    test-hd-api
    33
    34 35
    36
    com.hd
    37
    test-hd-resource
    38
    39 40
    41
    42
    javax.servlet
    43
    jstl
    44
    45 46
    47
    taglibs
    48
    standard
    49
    50 51
    52
    junit
    53
    junit
    54
    55 56
    57

    复制代码

     

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

    复制代码

    1 
    2
    5
    4.0.0
    6
    7
    com.hd
    8
    test-hd-modules
    9
    0.0.1-SNAPSHOT
    10
    11
    test-hd-www
    12
    war
    13 14
    15
    16
    17
    18
    org.apache.maven.plugins
    19
    maven-compiler-plugin
    20
    2.3.2
    21
    22
    1.723
    1.7
    24
    25
    26
    27
    test-hd-www
    28
    29 30

    复制代码

     

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

    

打包和发布

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

   

 

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

      

      

 

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

    

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

    

 

 

2018年6月27日

如果install出现Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin错误,如

[INFO] ------------------------------------------------------------------------[INFO] Reactor Summary:[INFO] [INFO] com.xxx ............................................ SUCCESS [  0.761 s][INFO] xxxxxxxx ........................................... SUCCESS [ 11.247 s][INFO] xxxxxxxxxxxxxx ..................................... SUCCESS [  0.031 s][INFO] xxxxxxxxxxxxxxxxxxxxxx ............................. FAILURE [01:08 min][INFO] ------------------------------------------------------------------------[INFO] BUILD FAILURE[INFO] ------------------------------------------------------------------------[INFO] Total time: 01:21 min[INFO] Finished at: 2018-06-27T13:38:26+08:00[INFO] Final Memory: 46M/302M[INFO] ------------------------------------------------------------------------[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.21.0:test

 

可以在具体的模块中添加

org.apache.maven.plugins
maven-surefire-plugin
true

 

 

转载于:https://my.oschina.net/xldc/blog/1806189

你可能感兴趣的文章
angular-bootstrap ui-date组件问题总结
查看>>
理解Javascript参数中的arguments对象
查看>>
p2:千行代码入门python
查看>>
bzoj1106[POI2007]立方体大作战tet*
查看>>
解决:Java调用.net的webService产生“服务器未能识别 HTTP 标头 SOAPAction 的值”错误...
查看>>
spring boot configuration annotation processor not found in classpath问题解决
查看>>
【转】正则基础之——神奇的转义
查看>>
团队项目测试报告与用户反馈
查看>>
MyBatis(1)——快速入门
查看>>
对软件工程课程的期望
查看>>
CPU高问题排查
查看>>
Mysql中文字符串提取datetime
查看>>
CentOS访问Windows共享文件夹的方法
查看>>
IOS 与ANDROID框架及应用开发模式对比一
查看>>
由中序遍历和后序遍历求前序遍历
查看>>
JQUERY Uploadify 3.1 C#使用案例
查看>>
coursera 北京大学 程序设计与算法 专项课程 完美覆盖
查看>>
firewall 端口转发
查看>>
wndows make images
查看>>
FS系统开发设计(思维导图)
查看>>