有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JavaEclipse:通过本地属性将源代码/javadoc附加到库

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

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

然后

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

.classpath。这能做到吗

[编辑]@VonC的回答很有帮助。。。有没有办法从文本文件(例如,local.properties)加载路径变量,而不是通过窗口->;偏好->;一般->;工作空间->;关联资源


共 (3) 个答案

  1. # 1 楼答案

    在后台和几天的自由时间里,我刚刚想出了一个简单的答案(用靛蓝)。我找到的最简单的方法是在project Explorer中展开项目,进入引用的库,右键单击相应的引用JAR,然后单击属性。在这里,您可以选择指定一个JavaDocs位置。输入包含索引的文件夹的位置。html和包列表,这些文件是Javadocs的一部分。小菜一碟

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

  2. # 2 楼答案

    可以使用类路径变量来实现这一点

    每个开发人员在Window中创建两个新变量->;偏好->;Java->;构建路径->;类路径变量

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

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

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

  3. # 3 楼答案

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

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

    链接资源定义了一个路径变量,它将等于/my/path/to/lib/src

    Eclipse Linked Resources

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

    Linked Resources

    (通过“变量”按钮,可以使用变量而不是固定路径)

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

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


    链接资源的问题在于,它们在首选项中是工作区的本地资源
    您可以导出[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附近

    尤其是:


    DevByStarlightthe comments中提到该项目(自2011年10月以来不太活跃)workspacemechanic

    The Workspace Mechanic automates maintenance of your Eclipse environment by tweaking preferences, adding extension locations, and so on. You can use it to:

    • Create a consistent environment among groups as large as the entire company, your local team, or even among your own many workspaces
    • Save time setting up new workspaces
    • Create tasks that ensure your favorite new preferences are applied to all your current and future workspaces. (This is one of our favorite features!)

    The key to the Workspace Mechanic's behavior is the Task.
    A task describes a simple test and an action that, when run, changes the environment so the test will subsequently pass.
    Tasks can come in many forms: preference files, Java classes, Groovy scripts and Eclipse extensions. You can easily define your own Tasks.

    它附带了一系列脚本: