maven系列之-多模块多Web应用合并War包

maven 多模块多Web应用合并War包是根据我上一章的分模块分工程管理的内容基础之上来写的,如果要看这部分内容需要结合上一章“maven 分模块分工程管理”来着手。

我这个工程分为一个顶级父工程和五个子级模块工程,项目都已经成功的建立了。

maven系列之-多模块多Web应用合并War包_第1张图片

我这会要将客户管理customermgr项目以及goodsmgrweb项目合并到architectureweb中并且在相应的项目中新建jsp,文件以及对应的js文件,并且会分别单独运行customermgr、goodsmgrweb、architectureweb模块,看看maven的分模块分工程管理的方便之处。

1.architectureweb要配置好customermgr、goodsmgrweb的相关依赖。maven系列之-多模块多Web应用合并War包_第2张图片

代码:

 


		
			com.hxqc
			customermgr
			0.0.1-SNAPSHOT
			war
		
		
			com.hxqc
			goodsmgrweb
			0.0.1-SNAPSHOT
			war
		
		
			junit
			junit
			3.8.1
			test
		
	
	
		architectureweb
		
			
				org.apache.maven.plugins
				maven-war-plugin
				3.0.0
				
					
						
							com.hxqc
							customermgr
						
						
							com.hxqc
							goodsmgrweb
						
					
				
			

 

 

 

 

 

2.在common公共资源模块新建java class Base1然后在customermgr中调用Base1的方法看看合并效果。

maven系列之-多模块多Web应用合并War包_第3张图片

3.在customermgr中新建customer1类然后写入一个方法,在customermgr新建其他的jsp文件、文件夹、js并且写入相关的方法输出。文件太多反锁就不一 一展示就是每个js或者jsp文件写个能输出的方法主要看效果用。

maven系列之-多模块多Web应用合并War包_第4张图片

在jsp文件中调用common中的base1类中的方法时要早customermgr中注入common依赖关系,不然引用import base1类时会报错。

maven系列之-多模块多Web应用合并War包_第5张图片

4.商品后台管理goodsmgr项目中新建goods1类在goodsmgrweb中调用看合并依赖效果。

maven系列之-多模块多Web应用合并War包_第6张图片

5.商品管理goodsmgrweb页面管理,在这里面类似于customermgr新建js、jsp文件在文件中输入一些输出做观察用项目结构如图。

maven系列之-多模块多Web应用合并War包_第7张图片

由于在goodsmgrweb 的jsp页面中调用了goodsmgr 里面的goods类以及里面的方法,所以也要在goodsmgrweb注入goodsmgr不然jsp文件会报错。

maven系列之-多模块多Web应用合并War包_第8张图片

6.总项目architecture右键--->run as--->maven install architecturex项目结构如下。

maven系列之-多模块多Web应用合并War包_第9张图片

根据目录会发现子模块有重复部分的a.jsp文件合并的时候只取了一个,这里我们是按照配置依赖的时候的顺序来取的。

maven系列之-多模块多Web应用合并War包_第10张图片

所以在分模块管理项目中要区别的对待新建的各种文件,避免重复的同路径同文件名。

7.运行项目举例goodsmgrweb项目的运行,architectureweb、customermgr运行类似不一 一举例。

首先,配置goodsmgrweb pom.xml 文件加入jetty插件配置。

 


	
		org.mortbay.jetty
		jetty-maven-plugin
		8.1.16.v20140903
		
			10
			9999
			
				/goods
			
		
			
			        9080
			        60000
			
			
			
		
	

 

 

 

右键goodsmgrweb ---> run as --->run configurations (jetty:run)

maven系列之-多模块多Web应用合并War包_第11张图片

运行成功就会出现:

 

[INFO] Classes = D:\Workspaces\architecture\goodsmgrweb\target\classes
[INFO] Context path = /goods
[INFO] Tmp directory = D:\Workspaces\architecture\goodsmgrweb\target\tmp
[INFO] Web defaults = org/eclipse/jetty/webapp/webdefault.xml
[INFO] Web overrides =  none
[INFO] web.xml file = file:/D:/Workspaces/architecture/goodsmgrweb/src/main/webapp/WEB-INF/web.xml
[INFO] Webapp directory = D:\Workspaces\architecture\goodsmgrweb\src\main\webapp
[INFO] jetty-8.1.16.v20140903
[INFO] No Transaction manager found - if your webapp requires one, please configure one.
[WARNING] !RequestLog
[INFO] Started [email protected]:9080
[INFO] Started Jetty Server
[INFO] Starting scanner at interval of 10 seconds.


然后访问效果如下:

 

 

 

maven系列之-多模块多Web应用合并War包_第12张图片

 

 

你可能感兴趣的:(#,Maven)