有没有一种简单的方法可以在Eclipse中附加源代码?


130

我非常喜欢Visual Studio在完成已编写的代码和所引用的ALSO代码(各种库/程序集)时为您提供注释文档/参数名称的方式。

在完成代码或将方法悬停在方法上时,是否有一种简单的方法可以在Eclipse中获取内联javadoc /参数名称?通过插件?通过某些设置?使用大量的库(就像Java中经常发生的那样)然后当您将其放在源jar中时,不得不去网站或本地javadoc位置查找信息,这是非常烦人的!


使用maven m2e插件时有其他方法吗?
cmcginty 2012年

1
另请参阅:如何将javadoc或源附加到libs文件夹中的jars?有关如何在以下解决方案不起作用的Android系统上进行操作的信息。
blahdiblah

Answers:


153

简短的答案是肯定的。

您可以使用项目的属性附加源。

转到属性(对于项目)-> Java构建路径->库

选择您要附加源代码/ javadoc的库,然后将其展开,您将看到一个类似这样的列表:

Source Attachment: (none)
Javadoc location: (none)
Native library location: (none)
Access rules: (No restrictions)

选择Javadoc位置,然后单击右侧的编辑。从那里应该很直接。

祝好运 :)


3
当然,您应该注意,如果您具有要附加的实际源,也可以对“源附件”部分执行相同的操作。然后,您将获得Javadoc,并且可以根据需要直接查看实际源代码。
ColinD

14
我认为这是附加源代码的艰难而痛苦的方式。每次在使用jar的每个项目中包含jar文件时,都需要这样做。当您有很多罐子和很多项目时,那不好。
James Moore 2012年

3
@JamesMoore,还有更好的方法吗?
Felix

12
这个答案的选票太多了!五年改进的答案是提到的Java源附加程序,它确实适合“一种简单的方法”。
sevenforce

1
当我们在lib上有“不可修改”的内容时该怎么办?
Henrique de Sousa

108

直到昨天,我一直不遗余力地下载大量罐子的源zip,并为每个项目手动附加它们。然后,一位同事将我转到了Java Source Attacher。它完成了eclipse应该做的事情-右键单击上下文菜单,显示“附加Java源代码”。

在此处输入图片说明

它会自动为您下载源文件并将其附加。我只遇到了几个不知道的库,当这种情况发生时,它使您可以将URL贡献给社区,因此没有其他人对该库有任何疑问。


它可以工作,但是有什么简单的方法可以将要检查的方法转换为Project Explorer中的jar?
Noumenon

请注意,这些.jar文件并未保存在您的项目文件夹中,因此,.classpath如果您与其他人协作,则这些文件将无法移植。
Stevoisiak

14

一个简单的方法是:

  1. 下载相应的SRC文件/文件夹。

  2. 在日食编辑器中,按住Ctrl键并单击或在您需要其来源的方法/类上按F3键。将打开一个新选项卡,其中显示“找不到附加源”。

  3. 单击“附加源”按钮,单击“附加源文件夹”按钮,浏览到下载的SRC文件夹的位置。做完了!

(ps:按钮标签可能略有不同,但这差不多。)


5

我发现有时候,您指向您认为正确的目录,然后仍然指出无法在附加的源中找到该文件。

这些时候,我意识到最后一个路径元素是“ src”。只需删除此路径元素(因此实际上指向“ org”或“ com”文件夹所在的实际路径上方的一层)就可以使其神奇地工作。

某种程度上,Eclipse似乎暗示了此“ src”路径元素(如果存在),并且如果您随后将其包含在源路径中,则Eclipse会感到麻烦。或类似的东西。


我有同样的问题:源位于名为“源”的目录(“ org”等所在的目录)中,但是在按住Ctrl键并单击方法名称的同时,我无法使Eclipse使用它。相反,我得到了字节码视图。我尝试将其名称更改为“ src”,使用“ org”作为目录,或者将其更改为“ source”上方,但是没有任何变化……
Matthieu 2012年

我不相信Eclipse会认为这src是其中的一部分。只需选择包含以软件包的顶级域名命名的文件夹的文件夹。
H2ONaCl 2013年

@broiyan:有趣的是您不相信,当我刚刚说这是我的经验时,身体经验丰富!:-)
stolsvik


5

1)按住Control +左键单击要查看的方法。然后,Eclipse将带您进入Source Not Found页面。

2)点击“附加源” 在此处输入图片说明

3) 在此处输入图片说明

4)导航到C:\ Program Files \ Java \ jdk-9.0.1 \ lib \ src.zip

5)单击“确定” 在此处输入图片说明 现在您应该可以看到源代码。


4

将jar文件添加到类路径时,可以将源目录或zip或jar文件附加到该jar。在Java Build Path属性的Libraries选项卡上,展开jar的条目,您将看到源附件中有一个项目。选择此项,然后单击“编辑”按钮。这使您可以选择包含源的文件夹,jar或zip。

另外,如果您在jar中选择一个类或方法并对其进行CTRL + CLICK(或按F3),那么您将进入字节码视图,该视图具有附加源代码的选项。

完成这些操作将为您提供所有参数名称以及完整的javadoc。

如果您没有源,但确实有javadoc,则可以通过第一种方法附加javadoc。如果您没有下载外部URL,它甚至可以引用外部URL。


3
  1. 单击您要查看的JAVA代码。(如果要检查java.util.List的源代码,请单击“列表”以打开List.java)
  2. 单击“附加源”按钮。
  3. 系统将要求您“选择包含rt.jar源的位置(文件夹,JAR或zip)。
  4. 选择“外部位置”选项。找到src.zip文件。
  5. src.zip的路径是:* \ Java \ jdk1.8.0_45 \ src.zip

2
  1. 将源文件放入一个zip文件中(与Java源代码一样)
  2. 转到项目属性->库
  3. 选择源附件,然后单击“编辑”
  4. 在“源附件配置”上,单击“变量”
  5. 在“变量选择”上,单击“新建”
  6. 输入一个有意义的名称,然后选择在步骤1中创建的zip文件。

1

另一种选择是右键单击您的jar文件,该文件位于(您的项目)->参考库->(您的jar)下,然后单击属性。然后单击Java Source Attachment。然后在位置路径中放入源jar文件的位置。

这只是附加源文件的另一种方法。



1

如果使用gradle构建库,则可以将源附加到创建的jar中,然后eclipse会自动使用它们。请参阅@MichaelOryl的答案如何使用gradle构建源jar

复制到这里供您参考:

jar {
    from sourceSets.main.allSource
}

所示解决方案适用于gradle java插件。如果您不使用该插件,里程可能会有所不同。


0

使用自动构建时,使这一过程更容易的另一种想法:

当您创建其中一个项目的jar时,还要创建一个源文件jar:
project.jar
project-src.jar

代替进入构建路径选项对话框为每个jar添加源引用,请尝试以下操作:通过对话框添加一个源引用。编辑您的.classpath,并使用第一个jar条目作为模板,将源jar文件添加到其他每个jar中。

这样,您可以充分利用Eclipse的导航辅助功能,同时仍使用更独立的功能来构建项目。


0

我要寻求一种替代方法,将源附加到跨多个项目使用的同一JAR。最初,我以为唯一的选择是用包含的源重新构建JAR,但查看“用户库”功能,就不必使用源来构建JAR。

当您有多个引用相同JAR的项目(相关或不相关)时,这是一种替代方法。为每个JAR创建一个“用户库”,并将源附加到它们。下次,您需要特定的JAR,而不是使用“添加JAR ...”或“添加外部JAR ...”,而是添加先前创建的“用户库”。

您只需要为每个JAR附加源ONCE,即可将其重新用于任何数量的项目。


0

对于正在编写Eclipse插件并希望包含源代码的人……在功能ExportWizard中,有一个包含源代码的选项: 在此处输入图片说明


0

只需单击附加源,然后选择文件夹路径...名称将与文件夹名称相同(在我的情况下)。记住一件事,您需要在后缀ex D:\ MyProject \中使用“ \”选择到项目文件夹基本位置的路径。


-2

看起来似乎有些矫,过正,但是如果您使用maven并包含源代码,则mvn eclipse插件将生成所需的所有源代码配置,以便为您提供所有可能需要的内联文档。


1
但是,与此同时,它需要对您的常规Eclipse构建系统进行大锤操作,从而破坏了以前的工作方式。
James Moore
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.