在Eclipse的Eclipse中附加Source

时间:2013-03-02 22:56:07

标签: java eclipse buildpath

我在日食中添加Student.jar Build Path,就像这样 -

  

右键单击项目 - > BuildPath->配置构建   路径 - >库 - >添加外部罐子

StudentTest文件中有一个名为Student.jar的类。当我在eclipse中调试我的代码时,我进入了StudentTest中的Student.jar类。

在那次日食之后我就这样 -

  

JAR文件S:\some_location\Student.jar没有源附件。   您可以通过单击

下面的附加源来附加源

现在我不确定应该如何在日食中附加来源。从哪里来?任何人都可以一步一步地向我提供我需要做的事情。

更新: - 我尝试解压缩Student.jar并得到Student folder。之后我尝试将源指向Student folder但是我仍然无法正确查看类,以便我可以正确调试它,它显示了相同的上述行为。

11 个答案:

答案 0 :(得分:32)

使用Java Source Attacher

它执行eclipse应该做的事情 - 右键单击​​上下文菜单,显示“Attach Java Source。

enter image description here

它会自动为您下载源并附加它。我只点击了一些它不知道的图书馆,当这种情况发生时,它会让你将网址贡献给社区,这样其他人就不会对该图书馆产生任何问题。

答案 1 :(得分:14)

<。> .jar文件通常只包含.class文件,而不包含它们编译的.java文件。这就是eclipse告诉你它不知道那个类的源代码的原因。

将源附加到JAR意味着告诉eclipse可以找到源代码的位置。当然,如果你不了解自己,那个功能几乎无济于事。当然,你可以尝试谷歌搜索源代码(或检查你从哪里获得JAR文件)。

那就是说,你不一定需要调试源。

答案 2 :(得分:13)

Eclipse显示没有找到源,因为没有可用的源。你的jar只有编译过的类。

您需要从jar导入项目并将Project添加为依赖项。

其他选择是转到

转到属性(对于项目) - &gt; Java构建路径 - &gt;库,选择你的jar文件并点击源代码,会有附加源和Javadocs的选项。

答案 3 :(得分:3)

这适用于Eclipse-Luna:

  1. 右键单击项目下Referenced Libraries文件夹中的* .jar,然后单击Properties
  2. 使用Java Source Attachment页面指向Workspace位置或外部位置指向该jar的源代码。

答案 4 :(得分:2)

回到你添加jar的地方。我相信它的库选项卡,我没有打开Eclipse,但听起来不错。在你添加的jar文件的左边应该有一个指向右边的箭头,点击它,展开3或4个选项,其中一个是库的源文件。点击它然后点击编辑(我想你也可以双击它)然后找到你硬盘上的文件或文件夹,你可能需要点击申请或没关系,你很高兴去,与javadoc一样,我认为最后一个是本机库。如果你不知道的话,当我在那里时我不太注意。那是你问的,对吧?

答案 5 :(得分:2)

我知道它已经很晚了,但它会对其他用户有所帮助,因为我们可以使用三种方式做Job ...如下所示1)1。使用实例附上您的源代码,即右键单击项目,然后选择属性 - &gt; Java构建路径 - &gt;将源附加到源选项卡中,或者可以删除jar文件并将源附加到库选项卡中 2.使用eclipse源分析器
在eclipse市场中,您可以下载用于附加开源jar文件源代码的插件java源分析器。我们可以在安装插件后实现它,右键单击开源jar并选择attach source选项 3.在eclipse中使用Jadclipse你可以做到最后,你可以使用这个插件实现反编译代码。它类似于你可以从eclipse市场下载插件并安装在你的eclipse中。 在jadclipse视图中你可以看到你的.class文件到decomplile源格式注意这里你看不到评论和隐藏的东西

我认为在你的场景中你可以使用选项一和选项三,我更喜欢选项三,只有我想要的源代码不是为了调试代码。否则我会对选项1进行编码,因为我已经提供了源代码。

答案 6 :(得分:0)

只需从jar中导入代码中所需源类的包。

你可以在

中找到jar的子包
  

Eclipse - YourProject - &gt;参考图书馆 - &gt; yourJars - &gt;包裹 - &gt; Clases

喜欢 - 我对mysql connector jar问题感到不安 “源附件不包含源” 通过给出源文件夹的路径,它显示了这个语句

The source attachment does not contain the source for the file StatementImpl.class

然后我只导入包含所需类的mysql connector jar包:

import com.mysql.jdbc.*;

然后程序工作正常。

答案 7 :(得分:0)

我遇到了同样的问题,并使用以下步骤解决了问题。转到Windows-&gt;首选项 - &gt;编辑器 - &gt;文件关联

点击“添加” 然后输入.class 点击OK

再次单击“添加” 然后输入.classwithoughtsource 点击OK

现在,您将能够在Windows-&gt; Preferences

中的Java部分下看到JadClipse选项

请提供jad.exe文件的路径,如下所示。

Decompiler-C的路径:\ Users \ ahr \ Documents \ eclipse-jee-galileo-SR2-win32 \ jad.exe 临时文件的目录-C:\ Users \ ahr.net.sf.jadclipse

点击“应用”

现在您应该能够以适当的格式查看类文件。

答案 8 :(得分:0)

  1. http://java-decompiler.github.io/
  2. 下载JDEclipse
  3. 按照安装步骤
  4. 如果仍然找不到源,请右键单击jar文件,然后从项目文件夹中选择“ 附加库源”选项,如下所示。

Drop down option location

答案 9 :(得分:0)

我也遇到了相同的问题,并通过以下方案解决了该问题。

1)首先,我们必须确定我们想要的jar文件的源代码以及版本号。例如“ Spring Core»4.0.6.RELEASE” 2)打开https://mvnrepository.com/并搜索名称为“ Spring Core»4.0.6.RELEASE”的文件。 3)现在,Maven存储库将显示该jar文件的详细信息。 4)在详细信息中,只需单击一个选项“查看全部”。 5)然后,我们将导航到URL“ https://repo1.maven.org/maven2/org/springframework/spring-core/4.0.6.RELEASE/”。

6)有很多选项,因此请在我们的系统中选择并下载“ spring-core-4.0.6.RELEASE-sources.jar”,然后将相同的jar文件作为源附件附加​​到eclipse中。

答案 10 :(得分:0)

我正在使用的项目不是基于Spring或Spring Boot的应用程序。 我有多个子项目,它们相互嵌套。 此处显示的答案支持子项目的第一级。 如果我添加了另一个子项目来进行源代码附加,则不允许我说文件夹已经存在错误。

看起来Eclipse已经过时了。我正在使用最新版本的Eclipse版本2015-2019。 它正在消磨我所有的时间。

我的意图是在调试模式下运行应用程序,浏览作为外部依赖项添加的子项目(不可修改)。