Intellij IDEA Breakpoints在JAR中停止,而不是我的项目的源代码

时间:2013-09-24 21:15:16

标签: debugging maven intellij-idea breakpoints

我在.java文件中设置了一个断点。我通过maven-jetty插件启动了jetty。我设置断点的java文件也打包到JAR中。 Intellij在断点处停止,但它显示了打包到JAR而不是java文件的文件。它表现得好像我在第三方库源代码的java文件中设置断点。 如何让Intellij忽略我的JAR或强制Intellij停在我的.java文件中?

2 个答案:

答案 0 :(得分:3)

这个设置有两个。

  1. 将源添加到您的某个模块的类路径中。 (项目结构 - >依赖关系 - >添加 - >模块依赖关系 - >选择您的源并将其拖到所有库依赖关系之上) enter image description here
  2. 指向远程配置以搜索该特定模块的类路径中的源。见下图 Remote Config Sources Search
  3. 有一个选项可以搜索“整个项目”的来源,但是当我尝试使用它时,这并未设置优先于本地可用的源,而不是已下载的源。上面的解决方案为我解决了这个问题,但是在处理大型多项目设置时相对不令人满意。即我必须选择一个特定模块的类路径作为远程配置中的真实来源。在我看来,如果本地源存在,并且“整个项目”是搜索选项,IntelliJ应该足够聪明,可以选择本地源而不是库?

答案 1 :(得分:1)

在当前最新版本的IntelliJ IDEA(2018.1)中,有一个选项"显示替代源切换器":

enter image description here

启用此选项后,IDEA会检测*.java*.class文件的差异以及选择来源的提议(对于重言式抱歉)。它可以减轻由许多模块组成的项目中的调试痛苦。