maven+jetty多webapp配置(非cargo)

来源:互联网 发布:淘宝阿里妈妈是什么 编辑:程序博客网 时间:2024/06/05 10:24

项目的结构是类似这样的:

main

    |_  main-a

    |_  main-b

在maven的配置文件里,main作为总的公共模块包含两个平级的web app模块,main-b是模拟静态资源服务而构建的,js,css,图片之类的静态资源都放在这里(方便以后静态资源迁移到专门的静态资源服务器),main-a是主要的模块,处理动态的请求,开发阶段使用maven的jetty插件来调试程序,因为不喜欢在eclipse里用WTP下Server工程的deploy(慢,有时候还会因为没有及时同步文件出一些错),也不想用cargo去专门管理deploy,因为需求很简单么,就是让jetty跑两个web app就可以了,去jetty的官网看了下资料(http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin ),原来用contextHandlers配置下就可以了。

这里我方便开发,直接在main-a里做了jetty的配置,让我在jetty加载完main-a的时候也去加载main-b

 

Xml代码  收藏代码
  1. <plugin>    
  2.     <groupId>org.mortbay.jetty</groupId>    
  3.     <artifactId>maven-jetty-plugin</artifactId>    
  4.     <configuration>    
  5.         <webApp>${basedir}/target/main-a</webApp>    
  6.         <scanIntervalSeconds>10</scanIntervalSeconds>    
  7.         <contextPath>/main-a</contextPath>    
  8.         <contextHandlers>    
  9.             <contextHandler implementation="org.mortbay.jetty.webapp.WebAppContext">    
  10.                 <war>${project.parent.basedir}/main-b/target/main-b.war</war>    
  11.                 <contextPath>/main-b</contextPath>    
  12.             </contextHandler>    
  13.         </contextHandlers>    
  14.     </configuration>    
  15. </plugin>    
 

然后在main-b执行完package生成war包后,再在main-a工程目录下直接mvn jetty:run就可以同时让jetty加载main-a和main-b

如果想不依赖生成的war包,也可以这样配置

Xml代码  收藏代码
  1. <plugin>  
  2.     <groupId>org.mortbay.jetty</groupId>  
  3.     <artifactId>maven-jetty-plugin</artifactId>  
  4.     <configuration>  
  5.         <webApp>${basedir}/target/main-a</webApp>  
  6.         <scanIntervalSeconds>10</scanIntervalSeconds>  
  7.         <contextPath>/main-a</contextPath>  
  8.         <contextHandlers>  
  9.             <contextHandler implementation="org.mortbay.jetty.webapp.WebAppContext">  
  10.                 <resourceBase>${project.parent.basedir}/main-b/target/main-b</resourceBase>  
  11.                 <contextPath>/main-b</contextPath>  
  12.             </contextHandler>  
  13.         </contextHandlers>  
  14.     </configuration>  
  15. </plugin>  
0 0
原创粉丝点击