Eclipse:通过本地属性将source / javadoc附加到库

时间:2008-11-18 22:12:28

标签: java eclipse jar javadoc

我的SVN存储库中有第三方库,我想在Eclipse中本地关联source / javadoc。即,应该有一些本地设置(例如,local.properties文件中的一个条目)将源/ javadoc与JAR文件相关联,但不会通过{{1}将本地依赖项引入存储库}。理想情况下我有

.classpath

lib_src_dir = /my/path/to/lib/src 中,然后

local.properties
<classpathentry kind="lib" path="lib.jar" sourcepath="${lib_src_dir}"> 中的

。可以这样做吗?

[编辑] @ VonC的答案很有帮助......有没有办法从文本文件(例如.classpath)加载路径变量而不是通过Window - &gt;偏好 - &gt;一般 - &gt;工作区 - &gt;链接资源?

3 个答案:

答案 0 :(得分:17)

我相信通过以下方式可以更好地实现:

  • 创建与
  • 结合的链接文件夹
  • 链接资源的声明

链接资源定义了一个等于/my/path/to/lib/src

的路径变量

Eclipse Linked Resources

链接文件夹将引用您的链接资源

Linked Resources

(您可以使用变量而非固定路径,使用“变量”按钮)

变量实际上始终是本地的(到一个工作区),并将通过Linked Resources首选项屏幕进行修改。

链接文件夹也可以是...链接的文件,从而允许通过相对路径(相对于变量)引用存档。
然后,此链接文件(此处为链接存档)可与“classpathentry”属性中的source相关联。


链接资源的问题是它们在工作区的本地,在首选项中 您可以导出[myPrefs.epf]文件中的偏好设置,然后修剪导出的文件,只留下包含 pathvariable 的行:

/instance/org.eclipse.core.resources/pathvariable.MY_DIRECTORY=/my/path/to/lib/src

然后任何人都可以导入此特殊偏好文件,这只会影响“Linked Resources”部分。

该解决方案不太令人满意,因为无法在项目中自动加载.epf首选项文件
当我使用定义路径的链接资源设置项目时,我总是在项目的根目录中留下一个大README.txt,以便煽动所述项目的用户使用他/她自己定义相同的链接资源固定的本地路径。

Several bugs正在进行以改善这种情况或Linked Resources topic

特别是:


DevByStarlight在项目the comments中提及(自2011年10月以来不太活跃)workspacemechanic

  

Workspace Mechanic通过调整首选项,添加扩展位置等来自动维护Eclipse环境。你可以用它来:

     
      
  • 在整个公司,本地团队甚至您自己的许多工作区之间的群组之间创建一致的环境
  •   
  • 节省设置新工作区的时间
  •   
  • 创建确保您最喜欢的新首选项应用于所有当前和未来工作空间的任务。 (这是我们最喜欢的功能之一!)
  •   
     

Workspace Mechanic行为的关键是 Task
  任务描述了一个简单的测试和一个动作,当它运行时,它会改变环境,以便测试随后通过    Tasks 可以有多种形式:首选项文件,Java类,Groovy脚本和Eclipse扩展。您可以轻松定义自己的任务。

它附带了一系列脚本:

答案 1 :(得分:6)

我在背景和自由时刻进行了几天的研究之后,我刚刚想出了一个简单的答案(在Indigo中)。我发现最简单的方法是在Project Explorer中扩展您的项目,进入您的Referenced Libraries,右键单击相应的引用JAR并单击Properties。在那里,您可以选择指定JavaDocs位置。输入包含index.html和packages-list的文件夹的位置,这些文件是Javadoc的一部分。一块蛋糕!

到目前为止我唯一看到的问题是我打赌你需要在每个引用该库的项目中都这样做。

答案 2 :(得分:0)

您可以使用类路径变量执行此操作。

每个开发人员在Window创建一些新变量 - &gt;偏好 - &gt; Java - &gt;构建路径 - &gt;类路径变量。

定义一个指向包含第三方JAR(或JARS)的目录的变量(例如,JAVA_LIB_DIR)。定义另一个指向包含第三方源代码(JAVA_SRC_DIR)的目录的变量。您可以按照自己喜欢的方式设置它,但我们有这样的结构:

common/   
  lib/
    java/       <-- JAVA_LIB_DIR variable points to this directory
      axis/
      bitronix/
        1.0/bitronix.jar   "extension" is "bitronix/1.0/bitronix.jar"
      ...

在项目的构建路径中,使用“添加变量...”选项添加库。然后,当您“附加源代码”时,系统会提示您输入源代码的变量和扩展名。

这样,可以签入单个共享.classpath文件,同时允许每个开发人员在他们喜欢的位置找到自己的库和源目录。