代码之家  ›  专栏  ›  技术社区  ›  AKIWEB

在jar的Eclipse中附加Source

  •  45
  • AKIWEB  · 技术社区  · 11 年前

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

    右键单击项目->构建路径->配置内部版本 路径->图书馆->添加外部Jars

    有一个类名为 StudentTest 在里面 学生.jar 文件当我在eclipse中调试代码时,我进入了 学生测试 中的类 学生.jar .

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

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

    现在我不确定我应该如何在eclipse中附加源。从哪里来?有人能一步一步地为我提供我需要做的事情吗。

    更新:- 我试着拉开 学生.jar 我得到了 Student folder 在那之后,我试着将消息来源指向 学生文件夹 但我仍然无法正确地查看该类,以便正确地调试它,它显示了与上面相同的行为。

    13 回复  |  直到 11 年前
        1
  •  38
  •   oikonomopo    7 年前

    使用 Java Source Attacher !

    它完成了eclipse应该做的事情——右键单击上下文菜单,上面写着“AttachJavaSource”。

    enter image description here

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

        2
  •  18
  •   Avinash Singh    11 年前

    Eclipse显示没有找到任何源代码,因为没有可用的源代码。您的jar只包含已编译的类。

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

    另一种选择是转到

    转到“属性”(针对项目)->Java构建路径->库,选择您的jar文件并点击源代码,将有附加源代码和Javadocs的选项。

        3
  •  16
  •   meriton    11 年前

    .jar文件通常只包含.class文件,而不包含从中编译的.java文件。这就是eclipse告诉您它不知道该类的源代码的原因。

    将源代码“附加”到JAR意味着告诉eclipse在哪里可以找到源代码。当然,如果你不了解自己,这个功能也没什么帮助。当然,您可以尝试在谷歌上搜索源代码(或者检查从哪里获得JAR文件)。

    也就是说,您不一定需要源代码来进行调试。

        4
  •  6
  •   Everlight nandokakimoto    9 年前

    这对我在Eclipse Luna中起到了作用:

    1. 右键单击项目下“引用的库”文件夹中的*.jar,然后单击“属性”
    2. 使用Java Source Attachment页面指向该jar源代码的Workspace位置或External位置。
        5
  •  2
  •   Code-Apprentice    11 年前

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

        6
  •  2
  •   ramesh027    9 年前

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

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

        7
  •  1
  •   Gustavo Morales Rene Gijzemijter    8 年前

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

    你可以在中找到jar的子包

    Eclipse--YourProject-->引用的库-->你的罐子-->程序包->冲突

    就像——我一直在为 mysql connector jar 问题 “源附件不包含源” 通过提供源文件夹的路径,它将显示此语句

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

    然后我只导入的包 mysql连接器jar 其中包含所需的类:

    import com.mysql.jdbc.*;
    

    然后程序运行正常。

        8
  •  1
  •   Anitha HR    7 年前

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

    点击此处添加 然后键入.class 单击“确定”

    再次单击“添加” 然后键入.classwithoughtsource 单击“确定”

    现在,您将能够在Windows中的Java部分下看到JadClipse选项->偏好

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

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

    单击“应用”

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

        9
  •  1
  •   Saber Chebka    2 年前

    很有可能,只需转到构建路径中的jar,然后选择像follow一样附加一个源。

    enter image description here

        10
  •  0
  •   Artog Juan Lucky    5 年前
    1. 从下载JDEclipse http://java-decompiler.github.io/
    2. 遵循安装步骤
    3. 如果您仍然没有找到源代码,右键单击jar文件并选择“ 附加库源 ”选项,如下所示。

    Drop down option location

        11
  •  0
  •   Nagesh    4 年前

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

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

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

        12
  •  0
  •   Alexandre B. Raju Kapadne    3 年前

    我也遇到过同样的问题,并通过使用以下场景解决了这个问题。

    1. 首先,我们必须确定我们想要哪个jar文件的源代码以及版本号。例如“弹簧芯”“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.REASE sources.jar”,并在eclipse中附加相同的jar文件作为源附件。

        13
  •  -1
  •   Pekmezli Dürüm    2 年前

    尝试删除断点。:)