当我调试JdbcTemplate源码使用的想法时,集成开发环境提示我:“源码与字节码不匹配”
截图:

我使用mvn来管理我的项目;我的maven pom配置是:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>org.springframework.orm</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>发布于 2017-08-22 11:30:03
当编译的代码与源代码不匹配时,Intellij会发出这样的警告。也就是说,你试着调试代码,代码已经改变了,不会再编译了。
确保在导入代码后,您没有修改代码的任何部分,如果您修改了代码,那么首先构建/编译它,然后只开始调试。
例如,以下代码将导致此警告:-
public class HelloSO {
public static void main(String[] args) {
System.out.println("First time source code");
}
}现在你编译了上面的类并开始调试它,一切都很好。
但在此之后,您再添加一条打印语句,并尝试将调试点放在该行上而不重新编译它,那么在这种情况下,新行的字节代码将不会生成,因此您将收到来自IntelliJ的相同警告。
发布于 2019-10-29 23:09:00
如果您有多个依赖项,而这些依赖项本身具有同一依赖项的不同版本,也会发生这种情况。JetBrains网站上的这篇文章展示了如何在首选项中启用备用源切换器。
发布于 2019-07-01 22:43:12
在查看了关于这个问题的其他类似问题和答案后,没有一个对我有帮助,解决问题的方法只是简单地添加了一个依赖项。在我的例子中,我在尝试调试org.springframework.web.servlet.DispatcherServlet.时遇到了这个问题我终于注意到IntelliJ在我的导入中找不到javax.servlet。
在我的Maven项目中,我添加了
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>8.0.1</version>
</dependency>我的pom.xml解决了这个问题。
仔细检查您的所有导入是否都得到了解决。
https://stackoverflow.com/questions/45807888
复制相似问题