zoukankan      html  css  js  c++  java
  • (转)maven eclipse debug

    准备工作:

    a. 在pom.xml中配置jetty插件:

    Xml代码 复制代码 收藏代码
    1. <plugins>  
    2.     <plugin>  
    3.         <groupId>org.mortbay.jetty</groupId>  
    4.         <artifactId>maven-jetty-plugin</artifactId>  
    5.         <version>6.1.26</version>  
    6.         <configuration>  
    7.             <webAppSourceDirectory>src/main/webapp</webAppSourceDirectory>  
    8.             <scanIntervalSeconds>6</scanIntervalSeconds>  
    9.             <contextPath>/prospect</contextPath>  
    10.             <webDefaultXml>jetty.xml</webDefaultXml>  
    11.             <jettyEnvXml>jetty-env.xml</jettyEnvXml>  
    12.             <connectors>  
    13.                 <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">  
    14.                     <port>8080</port>  
    15.                     <headerBufferSize>80000</headerBufferSize>  
    16.                 </connector>  
    17.             </connectors>  
    18.             <stopKey>stop</stopKey>  
    19.             <stopPort>8089</stopPort>  
    20.         </configuration>  
    21.     </plugin>  
    22. </plugins>  
    1. <plugins>  
    2.     <plugin>  
    3.         <groupId>org.mortbay.jetty</groupId>  
    4.         <artifactId>maven-jetty-plugin</artifactId>  
    5.         <version>6.1.26</version>  
    6.         <configuration>  
    7.             <webAppSourceDirectory>src/main/webapp</webAppSourceDirectory>  
    8.             <scanIntervalSeconds>6</scanIntervalSeconds>  
    9.             <contextPath>/prospect</contextPath>  
    10.             <webDefaultXml>jetty.xml</webDefaultXml>  
    11.             <jettyEnvXml>jetty-env.xml</jettyEnvXml>  
    12.             <connectors>  
    13.                 <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">  
    14.                     <port>8080</port>  
    15.                     <headerBufferSize>80000</headerBufferSize>  
    16.                 </connector>  
    17.             </connectors>  
    18.             <stopKey>stop</stopKey>  
    19.             <stopPort>8089</stopPort>  
    20.         </configuration>  
    21.     </plugin>  
    22. </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会等待直到客户端就绪:

    • 大小: 61.6 KB
    • 大小: 20.3 KB
    • 大小: 29.4 KB
    • 大小: 42.9 KB
    • 大小: 64.5 KB
    • 大小: 54.8 KB
    • 大小: 16.9 KB
    • 大小: 20.2 KB
    • 大小: 12.8 KB
    • 大小: 6 KB
  • 相关阅读:
    《那些年啊,那些事——一个程序员的奋斗史》——86
    《那些年啊,那些事——一个程序员的奋斗史》——84
    《那些年啊,那些事——一个程序员的奋斗史》——86
    《那些年啊,那些事——一个程序员的奋斗史》——85
    《那些年啊,那些事——一个程序员的奋斗史》——87
    《那些年啊,那些事——一个程序员的奋斗史》——85
    高RTSP兼容RTSP播放器网页无插件流媒体播放器EasyPlayerRTSPWin64位代码编译升级调试过程介绍
    海康大华摄像头高起播低延时RTSP网页无插件流媒体播放器EasyPlayerRTSPWin录像和抓图实现线程优化方案分享
    EasyRTMP获取H.264实时流并转化成为RTMP直播推流之EasyRTMPiOS屏幕推流如何获取视频帧
    海康大华网络摄像头高起播低延时RTSP网页无插件流媒体专用播放器EasyPlayerRTSP之GDI和D3D两种视频渲染方式的区别介绍
  • 原文地址:https://www.cnblogs.com/gmq-sh/p/4272994.html
Copyright © 2011-2022 走看看