1.環境配置
JAVA_HOME=D:\Program Files\Java\jdk1.7.0_80
JRE_HOME=%JAVA_HOME%\jre
CLASSPATH=.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar
MAVEN_HOME=D:\Program Files\maven3
M2_HOME=%MAVEN_HOME%
MAVEN_OPTS=-Xms128m -Xmx512m -XX:PermSize=128m -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
PATH=%JAVA_HOME%\bin;%JRE_HOME%\bin;%MAVEN_HOME%\bin;
2. POM.xml
<dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.1</version> <scope>provided</scope> </dependency> </dependencies> <build> <finalName>test</finalName> <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <version>6.1.10</version> <configuration> <scanIntervalSeconds>3</scanIntervalSeconds> <webAppConfig> <contextPath>/test</contextPath> </webAppConfig> <connectors> <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> <port>8081</port> </connector> </connectors> </configuration> </plugin> </plugins> </build>
3.使用PowerCMD啟動Jetty
> cd webapp項目路徑(pom.xml所在目錄)
>mvn jetty:run
Listening for transport dt_socket at address: 8000
[INFO] Scanning for projects...
4.Debug Configuration
進入Eclipse “Run/Debug/Debug Configuration”目錄,選擇“Remote Java Application”並點擊“New”按鈕,在“Project”中選擇要調試的webapp項目。
並確保端口號與MAVEN_OPTS中“address=”設置的值相同,Host保持默認(localhost)。為了關閉jetty,建議選中步驟二中的“Allow termination of remote VM”。
關聯源碼:選擇“Source”標簽,選擇“Add…”按鈕添加關聯的源代碼。選擇“Java Project”,勾選與當前webapp相關的Maven項目源碼。
然后點擊Apply, Debug就可以進行調試了。
5.另外一種啟動方式
如果不想使用cmd命令啟動 jetty,可以進入eclipse ->Run/External Tools/External Tools Configuration目錄,選擇“Program”並點擊“New”按鈕。在“Main”標簽中的“Location”中設置mvn的執行路徑(如:D:\Program Files\maven3\bin\mvn.bat),在“Working Directory”中選擇webapp所屬的workspace,在“Arguments”中添加“jetty:run”,如圖:
在“Environment”標簽中,點擊“New”按鈕,添加變量:MAVEN_OPTS=-Xms128m -Xmx512m -XX:PermSize=128m -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
如果設置suspend=y,則運行時需要等待debugger。