您的位置:首页 > 其它

Jetty调试

2016-08-23 20:17 489 查看
准备工作: a. 在pom.xml中配置jetty插件: Xml代码  <plugins>  
    <plugin>  
        <groupId>org.mortbay.jetty</groupId>  
        <artifactId>maven-jetty-plugin</artifactId>  
        <version>6.1.26</version>  
        <configuration>  
            <webAppSourceDirectory>src/main/webapp</webAppSourceDirectory>  
            <scanIntervalSeconds>6</scanIntervalSeconds>  
            <contextPath>/prospect</contextPath>  
            <webDefaultXml>jetty.xml</webDefaultXml>  
            <jettyEnvXml>jetty-env.xml</jettyEnvXml>  
            <connectors>  
                <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">  
                    <port>8080</port>  
                    <headerBufferSize>80000</headerBufferSize>  
                </connector>  
            </connectors>  
            <stopKey>stop</stopKey>  
            <stopPort>8089</stopPort>  
        </configuration>  
    </plugin>  
</plugins>  
b. 使用maven的clean install命令将web及依赖工程打包成war文件。 方式1 - Eclipse调试: ①. 右键maven工程,在弹出的菜单中选择[Debug As],首次选择[Maven build...],以后选择[Maven build]来读取保存的配置启动: 


②. 在浏览器输入地址http://localhost:8080/prospect/already/mosaic.htm,在代码上加断点,命中后IDE提示:Source not found: 


 解决: 
点击[Edit Source Lookup Path...]添加源代码工程或目录 完成后即可调试代码: 


方式2 - 远程调试: ①. 选择Eclipse的[Run]-[External Tools]-[External Tools Configurations...]菜单。 在打开的对话框中,新建一个Program,输入mvn.bat (mvnDebug.bat)的完整路径,指定要启动的web工程,在Arguments框输入jetty:run 

 使用mvn.bat时,需要添加调试参数: 
切换到Environment选项,添加一个变量: 
MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1066 注:address是和调试器通信的端口,不是服务的端口号。 

其它参数: 
-Xnoagent: 禁用默认sun.tools.debug调试器 
-Djava.compiler=NONE: 禁止JIT编译器的加载 
dt_shmem: 共享内存传输,仅限于Windows 点击[Run]启动jetty服务器 选择Eclipse的[Run]-[Debug Configurations...]菜单,在弹出的对话框中,新建一个Remote Java Application,指定和External Tools里面相同的工程和连接属性: 

点击[Debug]启动调试客户端 

 ②. 同方式1的② 附: 
i. 远程调试的jvm可以独立于Eclipse运行: 


 这时Eclipse里只有调试客户端: 


 ii. 如果suspend=y,运行JVM而没有开启调试客户端,JVM会等待直到客户端就绪: 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: