天天看點

Eclipse + Maven + Jetty 開發WebApp

作為一句java開發人員,

(以配置一個Spring+Hibernate+Struts2的WebApp為例)

你是否為到處網站找jar包以及相關依賴而煩悶不已,

你是否為它們之間jar包版本不相容或沖突而怒發沖冠,

你是否為你電腦上的jar包存放位置而暈頭轉向,

你是否為你多個項目之間jar包的共享重用而頭疼不已,

你是否為你的項目建構war包寫一大串ant腳本而眼球充血,

還有 回歸測試、持續內建、部署 等諸多問題...

程式員的時間應該用在寫好程式上面,而不應該花太多在這些環節上。

maven是這些問題的終結者,而且它能做得更多。

maven會讓你更喜歡java.

“自從搞上maven,眼不酸了,手不疼了,腰腳有力了...”

###################################################################

http://maven.apache.org/

http://www.eclipse.org/jetty/

http://wiki.eclipse.org/Jetty/Feature/Jetty_Maven_Plugin

http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin

工具:Eclipse + Maven + Jetty

插件:m2eclipse, maven-jetty-plugin

mvn jetty:run -Djetty.port=2222

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.cg</groupId>
	<artifactId>test-maven-jetty</artifactId>
	<packaging>war</packaging>
	<version>0.0.1-SNAPSHOT</version>

	<name>test-maven-jetty Maven Webapp</name>
	<url>http://maven.apache.org</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<!-- Optional: TODO 1 Pick the version of jetty you want. -->
		<jetty.version>8.1.8.v20121106</jetty.version>
	</properties>

	<!-- TODO 2 Configure repo2.maven.org as a repository. -->
	<!-- Optional <repositories> <repository> <id>repo2_maven_org</id> <url>http://repo2.maven.org/maven2</url> 
		</repository> </repositories> -->

	<build>
		<plugins>
			<plugin>
				<groupId>org.mortbay.jetty</groupId>
				<artifactId>jetty-maven-plugin</artifactId>
				<!--old version <artifactId>maven-jetty-plugin</artifactId> -->
				<!-- Optional -->
				<version>${jetty.version}</version>
				<configuration>
					<!-- 每n秒掃描項目的檔案改動,包括java類檔案;若為0,一改動儲存則重新開機jetty -->
					<scanIntervalSeconds>10</scanIntervalSeconds>
					<stopPort>9999</stopPort>
					<webApp>
						<contextPath>/w</contextPath>
					</webApp>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<!-- <build> <outputDirectory>${project.basedir}/src/main/webapp/WEB-INF/classes</outputDirectory> 
		<finalName>test-maven-tomcat</finalName> </build> -->

	<dependencies>
		<!-- <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> 
			<version>${jetty.version}</version> </dependency> -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.11</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

</project>