码迷,mamicode.com
首页 > Web开发 > 详细

如何通过Maven的Jetty插件运行Web工程

时间:2016-05-07 10:49:36      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:

首先建议使用jetty9,因为据官方文档显示,Jetty 7 and Jetty 8 are now EOL (End of Life),如下。但是由于项目使用的版本一般都比较低,这里以jetty8为例。

在pom.xml文件的<build></build>标签中加入如下配置:

<plugins>
	<plugin>
		<groupId>org.mortbay.jetty</groupId>
		<artifactId>jetty-maven-plugin</artifactId>
		<version>8.1.16.v20140903</version>
		<configuration>
			<scanIntervalSeconds>5</scanIntervalSeconds>
	                <webApp>
		             <contextPath>/</contextPath>
			</webApp>
		</configuration>
	</plugin>
</plugins>
配置说明:
    configuration.scanIntervalSeconds 配置表示新代码的扫描时间间隔(秒),值 <= 0 表示不扫描。这里利用的是jetty 的定时重载代码的特性,做修改后不用重新启动项目,自动扫描出改动后会自动更新class文件的。
    configuration.webApp.contextPath 配置表示工程的虚拟目录名,如果配置为/,则届时访问路径为hostname:port/,如果配置为/jetty,则届时访问路径为hostname:port/jetty,有点相当于namespace的作用。

启动看效果,用Maven Build启动,需在Goals栏中配置如下:

jetty:run -Djetty.port=9080

其中9080是指定的端口,也可以在pom.xml文件中指定端口,且在pom.xml文件中指定的端口优先级要比Goals中指定的端口的优先级要高。配置如下:

<plugins>
	<plugin>
		<groupId>org.mortbay.jetty</groupId>
		<artifactId>jetty-maven-plugin</artifactId>
		<version>8.1.16.v20140903</version>
		<configuration>
			<scanIntervalSeconds>5</scanIntervalSeconds>
			<webApp>
				<contextPath>/</contextPath>
			</webApp>
			<connectors>
				<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
					<port>10000</port>
				</connector>
			</connectors>
		</configuration>
	</plugin>
</plugins>
此时启动的话,如果在Goals也配置了-Djetty.port=9080,则有效的访问路径还是hostname:10000/,因为在pom.xml文件中配置的端口的优先级比较高!


如何通过Maven的Jetty插件运行Web工程

标签:

原文地址:http://blog.csdn.net/koushr/article/details/51331837

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!