首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >‘源代码与字节码不匹配’使用IDEA调试JdbcTemplate

‘源代码与字节码不匹配’使用IDEA调试JdbcTemplate
EN

Stack Overflow用户
提问于 2017-08-22 10:07:58
回答 7查看 21.1K关注 0票数 10

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

截图:

我使用mvn来管理我的项目;我的maven pom配置是:

代码语言:javascript
复制
<dependency>
                <groupId>org.springframework</groupId>
                <artifactId>org.springframework.orm</artifactId>
                <version>3.0.5.RELEASE</version>
  </dependency>
EN

回答 7

Stack Overflow用户

发布于 2017-08-22 11:30:03

当编译的代码与源代码不匹配时,Intellij会发出这样的警告。也就是说,你试着调试代码,代码已经改变了,不会再编译了。

确保在导入代码后,您没有修改代码的任何部分,如果您修改了代码,那么首先构建/编译它,然后只开始调试。

例如,以下代码将导致此警告:-

代码语言:javascript
复制
    public class HelloSO {
    public static void main(String[] args) {
        System.out.println("First time source code");
    }
  }

现在你编译了上面的类并开始调试它,一切都很好。

但在此之后,您再添加一条打印语句,并尝试将调试点放在该行上而不重新编译它,那么在这种情况下,新行的字节代码将不会生成,因此您将收到来自IntelliJ的相同警告。

票数 2
EN

Stack Overflow用户

发布于 2019-10-29 23:09:00

如果您有多个依赖项,而这些依赖项本身具有同一依赖项的不同版本,也会发生这种情况。JetBrains网站上的这篇文章展示了如何在首选项中启用备用源切换器。

https://intellij-support.jetbrains.com/hc/en-us/community/posts/206822215-what-does-Choose-Sources-do-and-how-can-I-undo-what-it-does-

票数 2
EN

Stack Overflow用户

发布于 2019-07-01 22:43:12

在查看了关于这个问题的其他类似问题和答案后,没有一个对我有帮助,解决问题的方法只是简单地添加了一个依赖项。在我的例子中,我在尝试调试org.springframework.web.servlet.DispatcherServlet.时遇到了这个问题我终于注意到IntelliJ在我的导入中找不到javax.servlet。

在我的Maven项目中,我添加了

代码语言:javascript
复制
<dependency>
  <groupId>javax</groupId>
  <artifactId>javaee-api</artifactId>
  <version>8.0.1</version>
</dependency>

我的pom.xml解决了这个问题。

仔细检查您的所有导入是否都得到了解决。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45807888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档