You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java项目无法识别依赖库最新代码变更的调试问题求助

问题解决步骤

1. 确保编译时生成完整调试信息

  • 打开Project B的Eclipse属性,进入Java Compiler -> Classfile Generation,勾选Add line number attributes to generated class files和Add local variable attributes to generated class files,重新编译并打包Jar。
  • 用命令javap -l <修改的类名>验证Jar内class文件是否包含LineNumberTable和LocalVariableTable调试信息。

2. 调整调试配置的源码关联

  • 打开Project A的Tomcat调试配置(Run -> Debug Configurations),切换到Source标签页:
    • 删除已添加的Project B,重新添加并勾选Allow debugging of source code not found in the project
    • 将Project B移动到Source Lookup Path的最上方,确保源码优先级高于Jar包

3. 强制清理部署缓存

  • 停止Tomcat,手动删除tomcat/webapps/[Project A名称]下的所有文件
  • 右键Tomcat服务器 -> Clean...,选择Clean all deployed projects,再重新部署Project A

4. 验证类加载路径

  • 再次确认Tomcat的lib目录、Project A的WEB-INF/lib下无旧版Project B Jar
  • 在Project A中添加代码打印类加载来源,确认加载的是新版Jar:
    System.out.println(你的修改类名.class.getProtectionDomain().getCodeSource().getLocation());
    

5. 修复Eclipse同步异常

  • 右键Project A -> Refresh,再执行Project -> Clean清理编译缓存
  • 打开Problems视图,排查是否存在未解决的编译错误或路径冲突
  • 完全终止Eclipse和Tomcat进程后,重新启动

内容的提问来源于stack exchange,提问作者Jaideep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 08:20:02