用Eclispe进行Debug时一直被一个问题所困扰:Source not found.

问题产生的原因是调试进入了一个没有源代码的jar包里。

简短说明:

Edit Source Lookup Path… 能够解决Debug过程中找不到源代码的问题,PS,须要重新启动服务。

Configure Build Path 中能够给jarattach上源代码,这个管的是阅读代码时能够看到jar包里的内容。

详细步骤:

之前通过点击Edit Source Lookup Path … 来加进源代码搜索路径

但常常遇到的问题是增加后一点OK,界面闪一下,就又回到这个’Source not found’界面了。

今天由于一定要调试源代码里的东西,所以彻底搞了一下这个问题。

我的环境是: + Maven 3.2.1

首先把源代码projectdown下来,而且手动打了source.jar,假设不愿意打source.jar,也能够直接引文件夹,先进入src/main/java文件夹下,与com包在同一级文件夹下,然后运行命令:

将生成好的xxx-source.jar剪切粘贴到外部的一个文件夹里。然后在Edit Source Lookup Path … 里Add … -> ExternalArchive

选择你要加要xxx-source.jar

这时界面会出现一闪,然后又回到’Edit Source Lookup Path …’这个界面的情况,事实上,关闭服务重新启动一下就好了,我一直不明确为什么,又是又一次加,又是想办法加别的jar或project,最后搞乱了。

假设加了不该加的Lookup Path,能够点菜单Run -> Debug Configurations … -> Source 来管理LookupPath

以下是一个复杂的样例:

用Maven管理大规模jar包集和项目集时,常常遇到引入多个jar包的版本号的问题,比如当前有三个project,P1引用P2,P2引用P3,P2依赖了A-1.0.jar,P3依赖了A-2.0.jar。依据Maven选择jar包,先显式,再深度,后顺序的原则,A-1.0.jar终于被终会被project所依赖,因此,在Configure Build Path时,要把1.0的源代码包attach给这个jar,在debug时Edit Source Lookup Path… 时也要把1.0的源代码包选中,我在试验时就是把2.0的源代码包编给了Lookup
Path,然后在Configure Build Path时不管把哪个包attach上,都在debug时发生了行偏移。

所以,Configure Build Path和Edit Source Lookup Path是两回事,一个管阅读代码,一个管调试代码,但对于那种入口代码,也就是前面没有代码调它,而是容器调用的代码,一定要先阅读到它,才干打上断点啊,不是吗?

Eclipse debug ‘Source not found’的更多相关文章

  1. Eclipse debug Source not found

    点击打开链接最近开始慢慢转向idea开发了,但是因为旧项目是在eclipse里面.就没有在idea导入,所以旧项目就用eclipse,新项目就用idea.然而最近几天eclipse似乎不干了,每次de ...

  2. 解决Eclipse Debug source not found问题

    解决方法如下:Debug 视图下-->在调试的线程上 右键单击-->选择Edit Source Lookup Path-->选择Add-->选择Java Project选择相应 ...

  3. eclipse debug source not fount

    1.选择Edit Source Lookup Path 2.选择Add 3.选择Java Project 4.选择相应的Project 进行OK确定即可 注意:做完以上的操作,要清除一下原来的断点,然 ...

  4. eclipse debug 过滤一些包

    eclipse debug java程序的时候, 我们按F5的时候,常常会进入java自带类库里,这些类库并不是我们需要debug的代码,这样会影响debug的效率,我们可以在eclipse里设置,过 ...

  5. eclipse debug (调试) 学习心得

    eclipse debug (调试) 学习心得   进入debug模式:   1.设置断点   2.启动servers端的debug模式   3.运行程序,在后台遇到断点时,进入debug调试状态   ...

  6. Eclipse debug调试

    Eclipse debug调试: F5:跳入方法F6:向下逐行调试F7:跳出方法F8:直接跳转到下一个断点

  7. 转:Eclipse Debug 界面应用详解——Eclipse Debug不为人知的秘密

    今天浏览csdn,发现一文详细的描述了Eclipse Debug中的各个知识点,非常详尽!特此记录. Eclipse Debug不为人知的秘密 http://blog.csdn.net/mgoann/ ...

  8. Eclipse Debug不能热部署解决

    摘要: Eclipse Debug不能热部署代码may be out-of-synch 问题描述:Project通过ant工具编译部署到JBoss下,在使用Eclipse远程调试功...       ...

  9. eclipse debug模式

    eclipse debug模式 1.怎样在Eclipse中设置断点 方法/步骤 1 首先打开工程项目 2 第一种是,把鼠标移动想要设置断点的行,在行号前面空白地方双击,就会出现断点 3 第二种是,在菜 ...

随机推荐

  1. mvn 一些操作

    拷贝依赖包 mvn dependency:copy-dependencies -DoutputDirectory=src/main/webapp/WEB-INF/lib  -DincludeScope ...

  2. JQuery window、document、 body

    我电脑屏幕分辨率:1440 * 900   最大化浏览器,刷新浏览器 alert($(window).width() + "---" + $(window).height()); ...

  3. C语言的本质(10)——指针本质

    指针,大概是C语言中最难理解的概念之一了.指针这个东西是C语言中的一个基本概念,C99中对于指针的定义是: 1. 指针的类型是derived from其它类型,也就是说指针的类型是由它指向的类型决定的 ...

  4. web本地存储-IndexedDB

    IndexedDB, HTML5中的一种数据存储方式,索引数据库. 一个网站可能有一个或多个 IndexedDB 数据库,每个数据库必须具有惟一的名称.一个数据库可包含多个对象存储,一个对象存储相当于 ...

  5. jquery validation plugin 使用

    <!DOCTYPE html> <!-- To change this license header, choose License Headers in Project Prope ...

  6. PS快捷键大全

    一.工具箱(多种工具共用一个快捷键的可同时按[Shift]加此快捷键选取)  矩形.椭圆选框工具 [M]  移动工具 [V]  套索.多边形套索.磁性套索 [L]  魔棒工具 [W]  裁剪工具 [C ...

  7. Is life always hard?

    原文来自我的独立blog: http://www.yuanyong.org/blog/midnightsun/is-life-always-hard 和两个朋友聊天. 小L在考研,打电话过去的时候小L ...

  8. 客户端浏览器判断(ios .android)

    在开发工程中,我们可能需要判断客户端浏览器的版本而作相应的处理:通常做法是通过浏览器的userAgent去判断浏览器版本,故在此总结下,方便以后使用. <script type="te ...

  9. 30分钟学会使用grunt打包前端代码【mark】

    grunt 是一套前端自动化工具,一个基于nodeJs的命令行工具,一般用于:① 压缩文件② 合并文件③ 简单语法检查 对于其他用法,我还不太清楚,我们这里简单介绍下grunt的压缩.合并文件,初学, ...

  10. PHP自学4——通过mail函数将feedback界面用户填写表单信息发送至指定邮箱

    这一讲的内容依旧简单(谁叫PO主水平菜,依旧是个弱鸡ORZ),通过PHP的内置mail函数将一个反馈界面的信息发送到指定邮箱.在Windows平台不能直接需要使用该函数,需要下载一个sendmail并 ...