【问题标题】:Use Eclipse classpath variable to replace absolute "sourcepath" path?使用 Eclipse 类路径变量替换绝对“源路径”路径?
【发布时间】:2016-08-23 02:13:34
【问题描述】:

我想使用 Eclipse 类路径变量来为我的类路径中的库解析附加的源 JAR 文件。这是我当前在 Elcipse (Indigo) 中的“.classpath”文件的内容:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
  <classpathentry kind="src" path="src"/>
  <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
  <classpathentry exported="true" kind="lib" path="lib/ApacheCommons/commons-logging.jar"/>
  <classpathentry exported="true" kind="lib" path="lib/Spring-WS/spring-ws-1.5.8-all.jar"/>

  <!-- [other entries] -->

  <classpathentry kind="output" path="bin"/>
</classpath>

当我现在为“spring-ws-1.5.8-all.jar”添加源 JAR 文件时,“.classpath”文件内容为:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
  <classpathentry kind="src" path="src"/>
  <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
  <classpathentry exported="true" kind="lib" path="lib/ApacheCommons/commons-logging.jar"/>
  <classpathentry exported="true" kind="lib" path="lib/Spring-WS/spring-ws-1.5.8-all.jar"
    sourcepath="D:/dev/sources/spring-ws-1.5.8-sources.jar"/>

  <!-- [other entries] -->

  <classpathentry kind="output" path="bin"/>
</classpath>

如您所见,Eclipse 将“sourcepath”属性添加到具有绝对路径的“classpathentry”元素中。

现在我的想法是用类路径变量“SOURCE_PATH”替换绝对路径,该变量正确设置为“D:/dev/sources”。

(请不要问我们为什么要进行此设置或建议我们必须更改它;这是一个旧项目,很遗憾我们无法/不允许更改构建结构)。

我试过了

sourcepath="SOURCE_PATH/spring-ws-1.5.8-sources.jar"

还有

sourcepath="${SOURCE_PATH}/spring-ws-1.5.8-sources.jar"

但两种变体都不起作用。

我似乎使用了错误的语法,或者我不理解类路径变量的概念。也许classpath变量不能用于“sourcepath”属性?

非常感谢您的帮助!

【问题讨论】:

    标签: java eclipse build classpath


    【解决方案1】:

    我可能不完全理解您的问题,但听起来您添加了带有绝对路径的 jar 文件。而是使用类路径变量添加它。

    使用项目属性,选择Java Build Path 选项。然后单击Libraries 选项卡。然后Add Variable.... 如果您还没有创建您的 SOURCE_PATH 类路径变量,您可以从这里通过单击 Configure Variables... 按钮(只是正确工作区首选项设置的快捷方式)来创建。配置完成后,您应该会在顶部的框中看到您的 SOURCE_PATH 类路径变量。你可以点击它扩展到Extend...它到一个子文件夹或一个jar文件。

    【讨论】:

      【解决方案2】:

      使用上面 Tod 的回答,如果您在很多项目中有很多 jar,您可能会发现直接编辑 .classpath 文件更容易。在 .classpath 中使用 Java 构建路径变量会更改引用:

      <classpathentry kind="lib" path="/full/pathTo/Jar.jar"/>
      

      到:

      <classpathentry kind="var" path="NEW_PATH_VARIABLE/Jar.jar"/>
      

      【讨论】:

      • 可以为 kind="output" 使用路径变量吗?
      【解决方案3】:

      您可以使用symbolic link。 Windows 还支持以 / 开头的路径。这取决于驱动器。在命令提示符下尝试cd / 进行验证。

      【讨论】:

      • 感谢您的回答,这可能是一个解决方案,或者更多是一种解决方法。但我更想知道使用这些类路径变量的正确方法。
      猜你喜欢
      • 1970-01-01
      • 2011-02-19
      • 1970-01-01
      • 2014-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-24
      相关资源
      最近更新 更多