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

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

 lib_src_dir = /my/path/to/lib/src 

local.properties然后

 <classpathentry kind="lib" path="lib.jar" sourcepath="${lib_src_dir}"> 

.classpath 。 可以这样做吗?

[编辑] @ VonC的答案是有帮助的…有没有一种方法来加载pathvariables从文本文件(如local.properties ),而不是通过窗口 – >首选项 – >常规 – >工作区 – >链接资源?

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

  • 创build一个链接文件夹结合
  • 链接资源的声明

链接的资源定义了一个pathvariables,它将等于/my/path/to/lib/src

Eclipse链接资源

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

链接的资源

(你可以使用一个variables,而不是一个固定的path,与“variables”button)

这个variables实际上总是本地的(到一个人的工作区),并且会通过Linked Resources首选项屏幕进行修改。

链接的文件夹也可以是一个链接文件 ,从而允许通过相对path(相对于variables)引用归档。
然后,这个链接的文件(这里是一个链接的档案)可以关联到您的classpathentry在“ source ”属性。


链接资源的问题在于它们在工作空间中是在本地的。
您可以[myPrefs.epf]文件中导出首选项 ,然后修剪导出的文件以仅保留包含pathvariable的行:

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

任何人都可以导入这个特殊的首选项文件,这只会影响“ Linked Resources ”部分。

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

一些错误正在进行中,以加强这种情况或链接资源主题 。

特别:

  • 用链接的资源导出项目
  • 没有variables的相对path
  • 已经链接资源相对于工作区path
  • 想使用相对于工作空间根目录的path

DevByStarlight在评论中提到该项目(自2011年10月以来不太活跃) 工作区机械 。

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

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

工作空间机械师的行为的关键是Task
任务描述了一个简单的testing和一个动作,在运行时会改变环境,以便testing随后通过。
Tasks可以有多种forms:首选项文件,Java类,Groovy脚本和Eclipse扩展。 您可以轻松定义自己的任务。

它带有一系列脚本:

  • 工作区机械师
  • workspacemechanic的设置

我只是在背景和自由的时刻,在一两天的工作中find了一个简单的答案(在靛蓝)。 我find的最简单的方法是在Project Explorer中展开项目,进入参考库,右键单击相应的引用JAR,然后单击属性。 在那里你可以select指定一个JavaDocs位置。 input包含index.html和packages-list的文件夹的位置,这些文件是Javadoc的一部分。 小菜一碟!

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

你可以用classpathvariables来做到这一点。

每个开发人员在Window – > Preferences – > Java – > Build Path – > Classpath Variables中创build一些新的variables。

定义一个指向包含第三方JAR(或JARS)的目录的variables(例如,JAVA_LIB_DIR)。 定义另一个variables,指向包含第三方源代码(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" ... 

在项目的构buildpath中,使用“添加variables…”选项添加库。 那么当你“附加源码”时,你会被提示input源代码的variables和扩展名。

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