Java 项目无法识别库依赖项中的最新代码更改

Java project does not recognize latest code change in library dependency

提问人:Jaideep 提问时间:5/22/2023 更新时间:5/22/2023 访问量:32

问:

我有一个 java 项目(项目 A),它使用库(项目 B)依赖项作为 jar。在对库项目(项目 B)进行更改、重新构建类并替换 lib jar 文件后,当我调试时,调试器在 eclipse 中的不规则点中断。不执行最新的更改。我在 tomcat 上运行该项目。如果我在调试配置中添加项目 B 后尝试热代码,它会说不同步。java 和类文件中的调试器以相同的不规则方式运行。 但是,在 eclipse 反编译器中,这些更改会正确地反映在我进行更改的类中。我还确认了项目下的库路径和项目 A 下的外部依赖项。 仅供参考,我只是添加以下代码

String key1 = "one";
String key2 = "two";
LOGGER.info("key1:" + key1);

没有其他代码更改,日志中也没有错误。 在 key1 上执行 ctrl+shift+i 时,它说“无法将 key2 解析为变量”。 它可能引用的项目 B jar 没有其他副本,因为我已经清除了所有缓存。

Java Eclipse 调试 Tomcat

评论

0赞 PeterMmm 5/22/2023
很难说 IDE 何时介于两者之间。您是否部署并重新启动 tomcat ?是提供 lib 还是在战争中?
0赞 Jaideep 5/22/2023
是的,我总是部署并重新启动。这些更改也反映在项目 A 的 Project 和 External Dependencies 下的库的类文件中。
0赞 nitind 5/23/2023
如何替换 lib jar 文件?Eclipse 是否知道它已被更改?Tomcat 是如何推出的?
0赞 Jaideep 5/23/2023
我正在手动更换罐子。是的,eclipse 是知道的,因为类文件中的更改反映在 eclipse 反编译器中。我正在使用catalina jpda run命令启动。
0赞 nitind 5/23/2023
你说的这个“eclipse decompiler”是什么?Eclipse 没有附带反编译器。

答: 暂无答案