`

maven工程开启jetty调试

    博客分类:
  • Java
 
阅读更多

准备工作: 

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>  



b. 使用maven的clean install命令将web及依赖工程打包成war文件。 


方式1 - Eclipse调试: 

①. 右键maven工程,在弹出的菜单中选择[Debug As],首次选择[Maven build...],以后选择[Maven build]来读取保存的配置启动: 

可以指定运行时的访问端口:jetty:run -Djetty.port=80 或者在variable中增加变量:jetty.port=80实现设置。

 

 

②. 在浏览器输入地址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会等待直到客户端就绪: 

分享到:
评论

相关推荐

    maven集成jetty所需jar包maven-jetty-plugin,多版本

    而Jetty作为轻量级服务器,启动速度快,适合开发和调试阶段。将两者结合,开发者可以在Maven构建流程中直接启动和测试Web应用,无需额外的服务器配置,提高了开发效率。 2. Maven-Jetty-Plugin介绍: `maven-jetty...

    maven-jetty-plugin

    1. **快速开发和调试**:通过在IDE中直接运行Maven Jetty Plugin,可以实时观察代码更改的效果,无需每次都打包和部署。这对于迭代开发和快速调试非常有用。 2. **动态部署**:在开发阶段,Maven Jetty Plugin能够...

    maven工程在Jetty服务器上的自动化部署(开发者模式)

    标题“maven工程在Jetty服务器上的自动化部署(开发者模式)”指出了本主题的核心——如何使用Maven构建工具配合Jetty轻量级服务器,实现Java Web项目的自动化部署,并且强调了这是针对开发者的模式,意味着会涉及到...

    maven项目下用 jetty 启动热部署

    当我们使用Maven构建Java Web项目时,结合Jetty服务器,可以实现项目的热部署功能,即在开发环境中修改代码后无需重新启动服务器,改动就能实时生效,极大地提高了开发效率。 在Maven项目中启用Jetty热部署,主要...

    用Maven和Jetty开发调试WEB应用程序

    ### 使用Maven和Jetty开发调试WEB应用程序 #### 前言 在现代软件开发过程中,集成工具如Maven和Jetty极大地提高了开发效率。Maven作为自动化构建工具,能够帮助开发者快速创建、管理和构建项目;而Jetty则是一款轻...

    maven +jetty 配置web工程

    本篇文章将详细探讨如何利用Maven与Jetty进行配置,以便高效地开发和运行Web工程。 首先,`Maven`是Apache软件基金会开发的项目管理工具,它通过一个统一的构建过程和依赖管理,简化了Java项目的构建、测试和部署。...

    Maven下使用Jetty进行Debug

    在开发Java Web应用程序时,有时候我们需要快速地进行调试和测试,这时使用Maven与Jetty的集成可以帮助我们高效地完成这个任务。本文将详细介绍如何在Maven环境下利用Jetty插件进行调试。 **1. 环境和条件** 首先...

    Maven与Jetty

    例如,`maven-jetty-plugin`或`jetty-maven-plugin`允许你在开发阶段直接通过Maven命令运行和调试你的Web应用,而无需进行完整的打包和部署步骤。 要将Jetty集成到Maven项目中,你需要在你的`pom.xml`文件中添加...

    maven3 + jetty 新建webapp

    标题 "maven3 + jetty 新建webapp" 涉及到的是使用Apache Maven 3构建工具和Jetty轻量级应用服务器来创建一个新的Web应用程序的过程。在Java开发领域,Maven是广泛使用的项目管理和集成工具,它帮助管理项目的构建、...

    maven jetty

    通过Maven Jetty插件,我们可以轻松地在本地环境中启动和调试应用,同时享受到热部署带来的便利。在"WebApp"目录下,开发者可以组织并管理Web应用的各个组成部分,以便于Maven管理和Jetty运行。

    maven-jetty-jspc-plugin-6.1.25-sources.jar

    maven-jetty-jspc-plugin-6.1.25-sources.jar

    Maven + Jetty Plugin

    通过在Maven的`pom.xml`文件中添加Jetty插件,开发者可以在开发过程中快速启动和调试Web应用,无需每次都打包和部署到完整的应用服务器。 首先,我们需要了解Maven的插件系统。Maven插件是Maven生命周期的一部分,...

    Eclipse Maven项目中配置Jetty

    在Eclipse中配置Maven项目以使用Jetty服务器是一个常见的任务,这主要适用于开发和测试阶段,因为它提供了快速的启动和重启能力。Jetty是一个轻量级、高性能的开源HTTP服务器和Servlet容器,广泛用于Java Web应用。...

    maven+jetty

    总结,通过整合Maven和Jetty,我们可以轻松地进行Java Web应用的开发和调试。Maven管理项目依赖,确保了我们使用的是最新且兼容的库,而Jetty作为一个轻量级的服务器,使得开发和测试过程更加高效。这个简单的实例...

    Eclipse+maven+jetty开发环境搭建

    本教程将深入探讨如何使用Eclipse集成开发环境(IDE)、Maven项目管理和构建工具,以及Jetty轻量级服务器来搭建一个完整的Java Web开发环境。以下是详细步骤和相关知识点: 1. **Eclipse IDE**: Eclipse 是一个开源...

    使用Maven导入Maven工程的视频教程

    使用Maven导入Maven工程的视频教程 仅供学习交流! 后续会持续分享相关资源,记得关注哦! 使用Maven导入Maven工程的视频教程 使用Maven导入Maven工程的视频教程 使用Maven导入Maven工程的视频教程 使用Maven导入...

    dwr+maven+jetty

    标题 "dwr+maven+jetty" 涉及到三个关键的开源技术:Direct Web Remoting (DWR),Maven,以及Jetty。这些工具在IT行业中常用于构建和部署Java Web应用程序。 1. Direct Web Remoting (DWR): DWR是一种JavaScript...

Global site tag (gtag.js) - Google Analytics