Gretty 调试全攻略:如何用 appRunDebug 远程调试 Web 应用
Gretty 调试全攻略如何用 appRunDebug 远程调试 Web 应用【免费下载链接】grettyAdvanced gradle plugin for running web-apps on jetty and tomcat.项目地址: https://gitcode.com/gh_mirrors/gr/gretty对于使用 Gradle 的 Java Web 开发者来说Gretty是一款功能强大的高级 Gradle 插件它让 Jetty 和 Tomcat 嵌入式容器的启动变得前所未有的简单。而在日常开发中最让人头疼的环节——Web 应用调试Gretty 同样给出了优雅的答案只需一条appRunDebug命令就能轻松开启远程调试模式。本文将为你完整讲解 Gretty 远程调试的原理、配置方法以及在 IntelliJ IDEA 和 Eclipse 中的实战步骤帮助新手快速上手。一、为什么选择 Gretty 进行 Web 应用调试传统 Web 开发中调试通常意味着启动外部 Tomcat、手动部署 WAR 包、再配置远程调试端口整个过程繁琐且容易出错。而 Gretty 通过 Gradle 任务机制把这一切浓缩成了几个简洁的命令。Gretty 调试核心命令一览Gretty 针对不同场景提供了多组调试任务全部定义在 GrettyPlugin.groovy 中任务名称适用场景特点appRunDebug开发调试原地运行交互模式 调试模式appStartDebug后台运行调试可通过appStop停止appRunWarDebugWAR 包方式调试非原地交互模式appStartWarDebugWAR 包后台调试非原地 可停止jettyRunDebug传统 Jetty 风格兼容旧习惯其中appRunDebug是最常用的一个它等价于appRun的调试版启动后以交互模式运行且自动开启 JVM 调试端口。一句话读懂 appRunDebug 原理appRunDebug本质上只是在启动 Web 应用时为 JVM 附加了调试参数-agentlib:jdwp并监听一个本地端口默认5005。你在 IDE 中通过 Socket 方式连接该端口就能像调试普通程序一样给 Servlet、Filter、Spring 控制器打断点。二、最快配置方法三步开启 Gretty 远程调试第一步在 build.gradle 中引入 Gretty在项目的build.gradle中添加插件与仓库配置plugins { id java id war id org.akhikhl.gretty version 2.0.0 } repositories { jcenter() }第二步按需调整调试端口可选Gretty 默认调试端口为5005默认启动时挂起等待调试器debugSuspend true。如果端口被占用或想自定义行为可在gretty配置块中修改gretty { debugPort 8787 // 自定义调试端口 debugSuspend false // 不等待调试器连接直接启动 }相关配置项定义在 GrettyExtension.groovy 中默认值一目了然。第三步启动调试模式在终端执行gradle appRunDebug看到类似Listening for transport dt_socket at address: 5005的输出说明调试端口已经就绪接下来就是 IDE 连接环节了。三、IntelliJ IDEA 连接 appRunDebug 的完整教程打开 IDEA进入Run → Edit Configurations点击新建一个Remote JVM Debug配置。传输方式选择Socket调试模式选择Attach。主机填localhost端口填5005或你自定义的debugPort。在代码中打好断点点击 Debug 按钮连接。连接成功后访问应用的任意页面命中断点即可开始调试。小技巧IDEA 会自动根据项目 JDK 版本生成 JVM 参数Gretty 内部使用的正是同款参数因此无需手动复制粘贴直接使用默认值即可。四、Eclipse 连接调试也只需两步打开Run → Debug Configurations右键Remote Java Application选择New。填写项目、主机localhost、端口5005点击Debug完成连接。连接后 Eclipse 会自动附加到运行中的 JVM断点命中和变量查看与本地调试完全一致。五、进阶技巧Gretty 调试的几个实用场景场景一调试时不想中断启动流程默认debugSuspend true会让应用在启动时挂起直到调试器连接。如果只想在代码运行到断点时再调试可以设置gretty { debugSuspend false }这样应用立即启动调试器随时可连适合快速预览页面场景。场景二多应用并行调试Gretty 支持同时运行多个 Web 应用farm 模式。为每个应用设置不同的debugPort即可在同一台机器上对多个应用并行调试互不干扰。场景三调试 Spring Boot 应用Gretty 对 Spring Boot 同样友好spring-boot应用也可通过调试任务启动配合热部署调试体验接近 Spring Boot DevTools。六、常见问题排查清单现象可能原因解决办法连接 5005 失败端口被占用修改debugPort或lsof -i :5005查占用启动后立即停止忘记连接调试器设置debugSuspend false断点不生效连接的端口错误确认终端输出与实际端口一致热部署不触发未使用交互模式使用appRunDebug而非appStartDebug七、总结Gretty 的appRunDebug把原本复杂的远程调试配置简化到一条命令 一个端口的程度让 Gradle 用户可以把精力集中在业务逻辑上。无论是 Jetty 还是 Tomcat无论单应用还是多应用 farmGretty 调试都能大幅提升你的开发效率。现在就打开你的项目试试这条命令体验一把秒开调试的快感吧【免费下载链接】grettyAdvanced gradle plugin for running web-apps on jetty and tomcat.项目地址: https://gitcode.com/gh_mirrors/gr/gretty创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

UI 着色器指南:URP-LWRP-Shaders 中圆角、描边与动画纹理 UI 特效实现

UI 着色器指南:URP-LWRP-Shaders 中圆角、描边与动画纹理 UI 特效实现

UI 着色器指南:URP-LWRP-Shaders 中圆角、描边与动画纹理 UI 特效实现 【免费下载链接】URP-LWRP-Shaders A Collection of Shader For URP(LWRP) Render Pipeline 项目地址: https://gitcode.com/gh_mirrors/ur/URP-LWRP-Shaders URP-LWRP-Shaders 是一个面…

2026/10/17 21:35:40 阅读更多 →
从Blob与M3U8流媒体中下载视频:原理、工具与实战指南

从Blob与M3U8流媒体中下载视频:原理、工具与实战指南

1. 项目概述:从网页到本地,搞定那些“藏起来”的视频 作为一名经常需要从网上收集素材的创作者,我太懂那种看到心仪视频却无法下载的抓狂感了。尤其是现在,越来越多的网站为了保护版权或节省带宽,不再直接提供 .mp4 …

2026/10/17 13:54:56 阅读更多 →
Tullio.jl关键词参数终极详解:快速定制你的张量运算

Tullio.jl关键词参数终极详解:快速定制你的张量运算

Tullio.jl关键词参数终极详解:快速定制你的张量运算 【免费下载链接】Tullio.jl ⅀ 项目地址: https://gitcode.com/gh_mirrors/tu/Tullio.jl Tullio.jl 是 Julia 生态中最灵活的 einsum 宏之一,只需一行索引表达式,就能完成矩阵乘法、…

2026/10/18 10:39:43 阅读更多 →

最新新闻

从“人工走查”到“机器把关”:open-code-review规则引擎实战拆解

从“人工走查”到“机器把关”:open-code-review规则引擎实战拆解

1. 从“走个过场”到“机器把关”的转变做研发管理这几年,我最头疼的事情里,代码评审绝对排前三。不是评审本身没用,而是它太容易流于形式了。团队里大家平时都忙,PR(Pull Request)一多起来,Rev…

2026/10/19 4:04:32 阅读更多 →
Diff驱动的开源代码评审工作流:LLM Agent+CLI工程实践

Diff驱动的开源代码评审工作流:LLM Agent+CLI工程实践

1. 项目概述:这不是一个“工具”,而是一套可落地的开源代码评审工作流你有没有过这样的经历:团队里新同学提交了PR,你点开GitHub页面,盯着满屏红色和绿色的diff发呆——不是不想看,是真不知道从哪下手。一行…

2026/10/19 4:04:32 阅读更多 →
Delphi静默在线升级源码:轻量级自动更新实战方案

Delphi静默在线升级源码:轻量级自动更新实战方案

简介:本资源是一套完整的Delphi自动在线升级程序源码,面向Windows桌面应用开发者,尤其适用于需长期维护、频繁迭代的商业软件项目,解决版本更新不及时、用户手动安装繁琐、更新过程不可控等核心痛点。压缩包共49个文件&#xff0c…

2026/10/19 4:04:32 阅读更多 →
open-code-review:基于CLI+Diff+LLM Agent的开源代码审查协议栈

open-code-review:基于CLI+Diff+LLM Agent的开源代码审查协议栈

1. 项目概述:这不是又一个代码审查工具,而是一次开发协作范式的重新定义“open-code-review”这个名字乍看平平无奇,甚至有点像某个被遗忘在 GitHub 某个角落的冷门仓库。但如果你最近刷过技术社区、看过几篇 LLM 工程化落地的实践笔记&#…

2026/10/19 4:04:32 阅读更多 →
基于CNN的橘子新鲜度图像分类实战:数据增强与PyTorch实现

基于CNN的橘子新鲜度图像分类实战:数据增强与PyTorch实现

1. 题目拆解与项目定位1.1 “识别橘子是否新鲜”到底在解决什么问题第一次看到这个题目的时候,我的第一反应是:这不就是一个典型的图像二分类问题嘛。但仔细想想,里面还是有不少门道的。表面上看,“橘子是否新鲜”就是在问“这张图…

2026/10/19 4:04:32 阅读更多 →
Autoware.Universe高精地图路径硬约束解析:为何必须用~/autoware-map

Autoware.Universe高精地图路径硬约束解析:为何必须用~/autoware-map

简介:本资源是面向自动驾驶开发者与ROS2初学者的Autoware.Universe环境验证实践包,聚焦高精地图部署这一关键前置环节,解决安装后‘能否跑通样例’的核心验证问题。压缩包为15.15MB的zip文件,共含4个核心文件:2个yaml配…

2026/10/19 4:03:30 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →