对JavaWeb项目打包的war进行debug (IDEA)

本文介绍如何通过修改tomcat的startup.sh和catalina.sh文件,配置IntelliJ IDEA实现JavaWeb项目的远程调试。包括添加jpda参数,配置端口,以及在IDEA中设置Remote调试配置。
部署运行你感兴趣的模型镜像

需求

把 JavaWeb 项目打包为war之后,在浏览器里访问 localhost:8080 (使用tomcat 8080端口),
或者访问 localhost:80 (配置了nginx代理,nginx端口为80),
希望debug到写的代码里

实施

修改 startup.sh

需要修改的文件是 tomcat的 /bin目录下的 startup.sh, catalina.sh
在这里插入图片描述

# vi startup.sh

在这里插入图片描述

startup.sh文件的最后一行,添加 jpda。

修改 catalina.sh

# vi catalina.sh

找到 JPDA_ADDRESS,把 localhost: 去除
在这里插入图片描述
上图是修改后的样子。
其中8000端口需要记住,后面会用到。
也可以写别的端口。
注意:此处的8000和tomcat的8080并没有什么联系。我们在访问访问浏览器时的端口是tomcat配置的端口。和这里的8000无关。

配置IDEA

  1. 点击 Edit Configutations
    在这里插入图片描述

  2. 点击添加 Remote
    在这里插入图片描述

  3. 可以修改Host,配置Port和 catalina.sh中写的一致。
    在这里插入图片描述

  4. 在代码里设置断点。运行tomcat 然后点击debug
    在这里插入图片描述

  5. 浏览器访问 localhost:8080/此处是你自己的项目路径
    我这里使用的是tomcat默认的8080端口,实际情况看你自己配置的。
    如果你配置了nginx,那么端口也可以自己指定。

  6. 之后会自动跳转到IDEA界面里的断点处

注意

当更新了代码后,

  1. maven clean/install
  2. restart tomcat

需要提前配置 tomcat/ server.xml
在这里插入图片描述其中 docBase配置的文件当tomcat重启后会自动加载到 webapps/ 目录下,生成的文件名是 path配置的,
比如path="/abc", 那么最终会生成文件夹 /webapps/abc

参考

https://www.cnblogs.com/756623607-zhang/p/10778862.html
https://blog.youkuaiyun.com/xiaochengguo/article/details/90815858?utm_medium=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-2.nonecase&depth_1-utm_source=distribute.pc_relevant_bbs_down.none-task-blog-baidujs-2.nonecase

您可能感兴趣的与本文相关的镜像

Linly-Talker

Linly-Talker

AI应用

Linly-Talker是一款创新的数字人对话系统,它融合了最新的人工智能技术,包括大型语言模型(LLM)、自动语音识别(ASR)、文本到语音转换(TTS)和语音克隆技术

### 如何在 IntelliJ IDEA 中配置 JavaWeb 项目 #### 创建一个新的 JavaWeb 项目 1. 打开 IntelliJ IDEA,选择 **New Project** 或者通过菜单栏中的 **File -> New -> Project...** 来创建新项目[^1]。 2. 在弹出的窗口中选择 **Java Enterprise** 模板,并确保选择了所需的模块(如 Servlet、JSP 等),然后点击 **Next**[^1]。 3. 定义项目的名称和存储位置,在下一步中指定 JDK 版本以及构建工具(Maven/Gradle 或手动配置)[^1]。 4. 创建完成后,查看初始项目结构。通常情况下,IDEA 已经自动为你生成了一个标准的 Web 应用程序目录结构,包括 `src` 和 `web` 文件夹[^1]。 #### 添加必要的文件夹和资源 5. 如果需要自定义文件夹结构,可以手动创建一些额外的文件夹,比如用于存放配置文件的 `config` 文件夹。 6. 在 `WEB-INF` 下创建 `lib` 文件夹来放置第三方 JAR 包。将这些 JAR 包添加到全局类路径中可以通过右键单击它们并选择 **Add as Library** 实现[^1]。 7. 对于静态资源(CSS、JS、图片等),可以直接将其存放到 `web` 文件夹或者其子文件夹下。 #### 配置 Facets 和 Artifacts 8. 确保已经正确设置了 Web Application 的 facets。进入 **File -> Project Structure -> Modules** 页面,确认存在名为 “Web” 的 facet,并且它的 Deployment Descriptor 设置指向了有效的 `web.xml` 文件[^2]。 9. 接下来设置 artifacts。同样前往 **Project Structure**,切换至 **Artifacts** 标签页,新增一个 WAR 类型 artifact。这一步非常重要,因为它是 Tomcat 启动时加载应用程序的基础。 #### 配置 Tomcat Server 10. 在顶部工具栏找到运行配置选项卡 (**Run/Debug Configurations**) ,添加新的 Remote 或 Local Configuration 。对于本地调试推荐使用后者[^2]。 - 设定应用服务器为 Apache Tomcat; - 勾选刚才建立好的 war exploded package; - 自定义 URL path (通常是根路径 `/`); 11. 当一切准备就绪之后保存更改并尝试启动服务测试连接状态是否正常工作。 #### 解决常见问题 - 编译后的 `.class` 文件未能出现在目标目录 (`out/artifacts/*_war_exploded/WEB-INF/classes`) :检查 Build Path 是否已包含 source roots。 - MyBatis 映射文件缺失:需单独引入 Mapper XML 至 classpath 下适当位置[^1]。 ```xml <!-- 示例 web.xml --> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> </web-app> ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值