41

Student.jar我像这样在我Build Path的日食中添加了一个-

右键项目->BuildPath->Configure Build Path->Libraries->Add External Jars

StudentTest文件中有一个类命名Student.jar。当我在 Eclipse 中调试我的代码时,我StudentTestStudent.jar.

在那次日食之后,我像这样-

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

现在我不确定我应该如何在我的 Eclipse 中附加源代码。又从哪里来?谁能逐步提供我需要做的事情。

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

4

12 回答 12

37

使用Java 源附件

它做了 eclipse 应该做的事情——一个右键单击上下文菜单,上面写着“附加 Java 源。

在此处输入图像描述

它会自动为您下载源代码并将其附加。我只访问了几个它不知道的库,当发生这种情况时,它可以让您将 url 贡献回社区,这样其他人就不会对该库有任何问题。

于 2014-10-31T10:14:10.387 回答
18

Eclipse 显示找不到源,因为没有可用的源。您的 jar 仅具有已编译的类。

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

另一个选择是去

转到 Properties (for the Project) -> Java Build Path -> Libraries ,选择您的 jar 文件并单击 source ,将有附加源和 Javadocs 的选项。

于 2013-03-02T23:08:41.703 回答
16

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

将源“附加”到 JAR 意味着告诉 eclipse 在哪里可以找到源代码。当然,如果您不了解自己,那么该功能将无济于事。当然,您可以尝试使用谷歌搜索源代码(或检查您从何处获得 JAR 文件)。

也就是说,您不一定需要调试源。

于 2013-03-02T23:06:01.457 回答
5

这对我来说适用于 Eclipse-Luna:

  1. 右键单击项目下 Referenced Libraries 文件夹中的 *.jar,然后单击 Properties
  2. 使用 Java Source Attachment 页面指向 Workspace 位置或指向该 jar 源代码的 External 位置。
于 2015-05-27T19:02:25.287 回答
2

回到你添加罐子的地方。我相信它的库选项卡,我没有打开 Eclipse,但听起来不错。在您添加的 jar 文件的左侧应该有一个指向右侧的箭头,单击该箭头并展开 3 或 4 个选项,其中一个是库的源文件。单击它并单击编辑(我认为您也可以双击它)然后在硬盘上找到文件或文件夹,您可能必须单击应用或确定,您很高兴,与 javadoc 相同,我认为最后一个是本地库。如果你看不出来,我在里面的时候不会太在意。这就是你问的,对吧?

于 2013-03-02T23:09:02.160 回答
2

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

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

于 2015-09-26T09:24:03.947 回答
1

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

您可以在以下位置找到 jar 的子包

Eclipse -- YourProject --> 引用的库 --> yourJars --> 包 --> 类

就像-我mysql connector jar通过提供显示此语句的源文件夹的路径来解决“源附件不包含源”的问题

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

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

import com.mysql.jdbc.*;

然后程序运行正常。

于 2016-06-06T13:18:42.590 回答
1

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

在这里点击 Add 然后输入 .class 点击 OK

再次点击 Add 然后输入 .classwithoughtsource 点击 OK

现在您将能够在 Windows->Preferences 的 Java 部分下看到 JadClipse 选项

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

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

点击应用

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

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

下拉选项位置

于 2019-09-20T08:55:47.867 回答
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”,并在eclipse中附加相同的jar文件作为源附件。

于 2020-01-16T10:06:34.747 回答
0

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

看起来eclipse是过时的IDE。我正在使用最新版本的 Eclipse 版本 2015-2019。它正在扼杀我所有的时间。

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

于 2020-03-18T09:58:19.037 回答
0

尝试删除断点。:)

于 2021-12-16T14:09:04.953 回答