maven分模块,聚合 在实际项目里面的应用

首先新建一个maven项目

maven分模块,聚合 在实际项目里面的应用_第1张图片


择 quickstart version1.1 这个maven骨架

maven分模块,聚合 在实际项目里面的应用_第2张图片



命名工程名字为 moduletest

maven分模块,聚合 在实际项目里面的应用_第3张图片


修改moduletest下的pom.xml中的jar为pom

maven分模块,聚合 在实际项目里面的应用_第4张图片



  4.0.0

  com.pcx
  moduletest
  0.0.1-SNAPSHOT
  pom

  moduletest
  http://maven.apache.org

  
    UTF-8
  

  
    
      junit
      junit
      3.8.1
      test
    
  


新建一个maven module模块依赖于我们的moduletest工程

maven分模块,聚合 在实际项目里面的应用_第5张图片

创建一个模块名字为:  moduletest-service

maven分模块,聚合 在实际项目里面的应用_第6张图片


老样子还是使用quickstart骨架

maven分模块,聚合 在实际项目里面的应用_第7张图片


创建成功后的模块划分变成了这样

maven分模块,聚合 在实际项目里面的应用_第8张图片

看在看下moduletest项目下包含了moduletest-service项目,可见现在moduletest-service是依赖于moduletest

这是moduletest的pom.xml文件


  4.0.0

  com.pcx
  moduletest
  0.0.1-SNAPSHOT
  pom

  moduletest
  http://maven.apache.org

  
    UTF-8
  

  
    
      junit
      junit
      3.8.1
      test
    
  
  
  	moduletest-service
  

这是moduletest-service的pom.xml文件



  4.0.0
  
    com.pcx
    moduletest
    0.0.1-SNAPSHOT
  
  com.pcx
  moduletest-service
  0.0.1-SNAPSHOT
  moduletest-service
  http://maven.apache.org
  
    UTF-8
  
  
    
      junit
      junit
      3.8.1
      test
    
  


根据这个思路我们依次添加moduletest-facade,moduletest-biz,moduletest-utils,moduletest-integration,moduletest-dal模块

现在我们的项目变成了这种结构

maven分模块,聚合 在实际项目里面的应用_第9张图片

最后我们来添加moduletest-web模块

老样子新建一个module

maven分模块,聚合 在实际项目里面的应用_第10张图片


maven骨架这里我们选择webapp 1.0这个因为是web工程

maven分模块,聚合 在实际项目里面的应用_第11张图片

在moduletest-web/src/main下面新建一个java文件夹

maven分模块,聚合 在实际项目里面的应用_第12张图片

run configuration中新建一个maven 命令组合

maven分模块,聚合 在实际项目里面的应用_第13张图片


moduletest-web的pom.xml文件中添加jetty插件



  4.0.0
  
    com.pcx
    moduletest
    0.0.1-SNAPSHOT
  
  com.pcx
  moduletest-web
  0.0.1-SNAPSHOT
  war
  moduletest-web Maven Webapp
  http://maven.apache.org
  
    
      junit
      junit
      3.8.1
      test
    
  
  
    moduletest-web
     
		    
				org.mortbay.jetty
				jetty-maven-plugin
				8.1.14.v20131031
				
					src/main/webapp
					10
					9999
					
						/moduletest
					
					
						
						8080
						60000
						
					
				
			
	  
  


运行  moduletest clean install命令

maven分模块,聚合 在实际项目里面的应用_第14张图片


在配置一个jetty的运行命令  


maven分模块,聚合 在实际项目里面的应用_第15张图片

配置完后直接运行  run

maven分模块,聚合 在实际项目里面的应用_第16张图片

打开浏览器输入地址

maven分模块,聚合 在实际项目里面的应用_第17张图片


最后我们来讲讲这些模块的划分意义


maven分模块,聚合 在实际项目里面的应用_第18张图片

moduletest-dal:主要用来写对数据库的增删改查的

moduletest-service:用来封装dal的把它写成服务

moduletest-biz:主要是用来对moduletest-service的服务做进一步抽象的

moduletest-facade:主要是用来写接口给外部系统调用的

moduletest-integration:用来写调用别的系统的接口的

moduletest-utils:写一些工具类,比如金额的验证,数据格式化加个小数点啊

moduletest-web:主要用来写页面的

模块划分的好处就是结构更加清晰了,当然模块怎么划分可以按照自己的喜好,这里我只是提供一种思路。

你可能感兴趣的:(maven,web开发)