`
yvonxiao
  • 浏览: 77311 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

maven+jetty多webapp配置(非cargo)

阅读更多

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

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

 

    <plugin>  
        <groupId>org.mortbay.jetty</groupId>  
        <artifactId>maven-jetty-plugin</artifactId>  
        <configuration>  
            <webApp>${basedir}/target/main-a</webApp>  
            <scanIntervalSeconds>10</scanIntervalSeconds>  
            <contextPath>/main-a</contextPath>  
            <contextHandlers>  
                <contextHandler implementation="org.mortbay.jetty.webapp.WebAppContext">  
                    <war>${project.parent.basedir}/main-b/target/main-b.war</war>  
                    <contextPath>/main-b</contextPath>  
                </contextHandler>  
            </contextHandlers>  
        </configuration>  
    </plugin>  
 

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

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

	  		<plugin>
	  			<groupId>org.mortbay.jetty</groupId>
	  			<artifactId>maven-jetty-plugin</artifactId>
	  			<configuration>
	  				<webApp>${basedir}/target/main-a</webApp>
	  				<scanIntervalSeconds>10</scanIntervalSeconds>
	  				<contextPath>/main-a</contextPath>
	  				<contextHandlers>
	  					<contextHandler implementation="org.mortbay.jetty.webapp.WebAppContext">
	  						<resourceBase>${project.parent.basedir}/main-b/target/main-b</resourceBase>
	  						<contextPath>/main-b</contextPath>
	  					</contextHandler>
	  				</contextHandlers>
	  			</configuration>
	  		</plugin>
分享到:
评论
1 楼 heyibo2014 2016-12-12  

最新版本变成 implementation ="org.eclipse.jetty.maven.plugin.JettyWebAppContext"

相关推荐

Global site tag (gtag.js) - Google Analytics