Eclipse 中使用maven 插件配置jetty

之前使用的tomcat插件时是 依赖的模块时通过 jar包的方式放入到web项目中的lib中,如果当依赖的模块发生改变时 。 需要重新编译 然后打成jar包 放在web项目的lib中 这种 方式显然非常的繁琐。

 

从最开始的使用

maven-tomcat-plugin、 cargo-maven2-plugin、以及jetty-maven-plugin 每种方式都尝试过。

最终选择使用jetty-maven-plugin  作为web容器 来实现。

 

项目的结构大致是:

midea-project     --*项目(pom) 用来管理midea-common  、midea-busi 、midea-webapp、midea-entity

midea-common  --公共模块(jar)

midea-busi          --业务模块(jar)

midea-entity        --实体(jar)

midea-webapp    --web模块(war)

 

midea-webapp 依赖 midea-busi  。而midea-busi  依赖midea-common 和 midea-entity 

 

把midea-webapp 项目部署到jetty容器中,可以实现随时改动midea-common 、midea-busi   模块时不需要手动启动jetty容器。而jetty容器会自动扫描到改动的java文件自动重新启动jetty服务。

 

maven项目的创建以及配置也不多说了,网上很多。

然后,在web项目中的pom.xml文件中加入plugin插件:

 

<build>
		<plugins>
			<!-- jetty插件用于部署web项目; -->
			<plugin>
				<groupId>org.mortbay.jetty</groupId>
				<artifactId>jetty-maven-plugin</artifactId>
				<version>8.1.0.v20120127</version>
				<configuration>
					<!-- 扫描时间 -->
					<scanIntervalSeconds>10</scanIntervalSeconds>
					<!-- 项目上下文 -->
					<webApp>
						<contextPath>/mideaAdmin</contextPath>
					</webApp>
					<connectors>
						<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
							<port>9999</port>
							<maxIdleTime>60000</maxIdleTime>
						</connector>
					</connectors>
					<stopPort>8191</stopPort>
					<stopKey>ts</stopKey>
				</configuration>
				<!-- 在执行install操作时,启动jetty容器. -->
				<executions>
					<execution>
						<id>start-jetty</id>
						<phase>install</phase>
						<goals>
							<goal>run</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
		<finalName>mideaAdmin</finalName>
	</build>

 

配置完插件之后,在Debug Configration中配置如下:


Eclipse 中使用maven 插件配置jetty
 

当maven执行install操作时 就会启动jetty容器。

 

控制台输出如下就代码启动成功。


Eclipse 中使用maven 插件配置jetty