配置好jetty后,开发起来就爽多了。具体配置如下:
一、配置pom.xml文件,添加如下内容:
<plugin></plugin>
或者
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<configuration>
<webApp>
<contextPath>/</contextPath>
</webApp>
<stopKey>shutdown</stopKey>
<stopPort>9966</stopPort>
<connectors>
<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
<port>8081</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
</connectors>
<requestLog implementation="org.eclipse.jetty.server.NCSARequestLog">
<filename>target/access.log</filename>
<retainDays>90</retainDays>
<append>false</append>
<extended>false</extended>
<logTimeZone>GMT+8:00</logTimeZone>
</requestLog>
<systemProperties>
<systemProperty>
<name>productionMode</name>
<value>${productionMode}</value>
</systemProperty>
</systemProperties>
</configuration>
</plugin>
二、新增一个外部工具(转载请注明 blog.csdn.net/whuslei)
四、然后会在工具栏看到以下选项
如果没有出现这个,请自行添加:
五、启动jetty
如果成功会出现:Listening for transport dt_socket at address: *****
-------如果想调试,怎么办?接着配置:--------------------------------------------
一、修改environment中的内容
New一个variable,名为MAVEN_OPTS,值为
-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n
二、配置远程debug
在弹出的对话框中选择
设置参数,注意这里的端口必须与前面设置的一致
三、启动远程调试
先启动jetty监听程序,命令行会出现提示窗口
四、远程启动jetty
这样就可以进行调试了,那如何关闭呢?
五、设置关闭jetty快捷方式,修改POM.xml文档
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<configuration>
<stopPort>9966</stopPort><!-- 停止jetty -->
<stopKey>foo</stopKey>
</configuration>
</plugin>
【技巧】
1、先要启动jetty监听端口,才能启动jetty远程调试。
2、如果jetty stop执行失败,再次启动监听端口时会出现以下异常:
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
ERROR: transport error 202: bind failed: Address already in use
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:690]
这是因为监听程序还没有停止,依然绑定在端口上。所以只需要找到这个程序即可。
只需要找到java.exe(前提是你没有其他java进程哦!),结束掉这个即可!