Eclipse如何将包含javadocs / source的jar和其二进制文件链接起来?


80

当我将鼠标悬停在类上时,我想让jar文件中包含的javadoc注释在eclipse中显示。

例如,下载JODA-2.0后,将获得三个jar:

在eclipse中,[右键单击项目->属性-> Java Build Path->库-> ADD JARs ...]在项目中可以引用joda-time-2.0.jar的二进制文件(可以引用这些类)。

但是,如何链接其他两个jar文件中包含的source / javadoc注释,以便当我将鼠标悬停在这些类上时可以看到javadocs?

将其他两个jar(joda-time-2.0-javadoc.jar和joda-time-2.0-sources.jar)添加到构建路径不会链接javadocs或源。

Answers:


67

您可以尝试CTRL +单击没有附加源的类(在编辑器中执行此操作)。当它向您显示有关该类的一些信息时,您将看到指导附加源对话框的按钮。单击它,然后在弹出的对话框中选择类的源/ javadoc位置。

您也可以从您提到的项目构建路径设置中执行此操作:选择“库”选项卡,展开所需的库(jar),然后将提供以下选择:源附件,javadoc附件,本机库位置等。您只需选择任何您想要的内容并编辑其当前设置。

或者您可以按照@JB Nizet所说的...


8
附加源代码和附加javadoc之间有什么区别?
Pacerier,2014年

@Pacerier源代码包含程序源代码,其中javadoc中包含说明程序功能的文档和注释。
Stevoisiak

1
我收到消息“此类文件的JAR属于容器“ Android私有库”,不允许对其条目上的源附件进行修改
Radon8472 2015年

70
  1. 右键单击项目->构建路径->配置构建路径
  2. 在新窗口中,转到“库”选项卡。
  3. 选择库并展开它。
  4. 有4个子选项。选择“ Javadoc位置”,然后单击右侧的“编辑”按钮。
  5. 现在,您可以添加一个包含文档的jar文件。这只是一个zip文件,扩展名更改为jar。确保jar内的index.html位于根目录中。您可以按“验证”按钮来检查一切正常。

到3.直接选择该库,而不要选择“ Android私有库”中列出的库(没有编辑功能)。到4:在存档中使用Javadoc,而不是URL
Gunnar Bernstein 2014年

只是要补充一点,如果您使用的是公共库,则可以在线附加到API的链接,而不是JAR文件的硬编码本地路径。
新浪马达尼

11

右键单击jar(带有类文件的jar),选择“属性”和“ Javadoc位置”,然后选择带有javadoc的jar文件。使用“ Java源附件”对源jar执行类似的操作。


4
可能只是我一个人,但这仅在Eclipse将文件“识别”为jar时有效。它旁边有一个小罐子图标。当我导入3rd party jars时,它们显示为带有文档图标的图标。他们只是在代码方面很好地工作,但是右键单击属性我没有得到“ javadoc位置”。
米格尔·莫尔

如果您的jar位于WEB-INF / lib中,则不应该右键单击它们(如您所说,它们显示为文档),而应从“ Web应用程序库”内部的等效
菜单中查找

9

您还可以在Eclipse项目的文件“ .classpath”中编辑classpathentry。如果要一次修改许多条目,或者要生成路径,这将很有帮助。例如:

<classpathentry kind="var" path="HOME/3rdparty/junit.jar" sourcepath="/SOURCE/junit_src.zip"/>


+1答案!我当时想过一种可以同时添加各种罐子的方法。
Vikas Raturi

-1您不想直接编辑.classpath文件。它仅供Eclipse使用,不能手动编辑。@史密斯先生实际上在这里给出了真正正确的答案。尽管draganstankovic解释了一种至少可以完成工作的方法……
aaiezza

@scribaniwannabe:我知道这既不是预期的,受支持的方法,也不是最简单的方法,但是对于我提到的用例,它的运行速度更快且没有问题。但是,您必须小心使用有效的XML语法。
Michael_S

0

最简单的方法是:

  1. 按下Ctrl +(您要查看Java文档的单词)
  2. 将出现一个页面,其中包含用于附加来源的按钮。单击此
  3. 选择外部位置。
  4. 浏览到Java文件夹的位置,然后 jdk 选择 src .zip。
  5. 按确定。

问题已经解决了。

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.