4

背景

我正在使用 Eclipse 4.2 (Juno) 版本为 Java 应用程序构建插件。我的插件的源代码和类都位于项目工作区中。由于各种原因,应用程序 jar 及其源代码在 eclipse 工作区之外维护,并且应用程序 jar 是由另一种构建机制生成的。

这不是问题,因为我已经在我的项目中使用拖放引用了应用程序 jar 文件,并使用“链接到文件”选项指定它“创建相对于MYDEV的链接位置”,其中MYDEV是我拥有的链接资源变量为每个 Eclipse 安装创建。这让我可以在多台机器上使用相同的 Eclipse 项目,其中应用程序 jar 的路径不同,但相对于 MYDEV 始终相同。

但是,除非我使用绝对路径,否则我找不到将应用程序源代码与此 jar 关联的方法。我只想访问应用程序源以进行调试。

问题

在 Eclipse 中,如何以允许在引用源代码已重新定位的多个安装中使用项目的方式将 java 源附加到引用的 jar?

4

3 回答 3

1

如果源在项目之外,那么没有绝对路径就无法访问它。

最好的解决方案是在 eclipse 项目目录中使用符号链接到实际的源文件夹;eclipse 不会注意到源在项目目录之外,并且一切都会正常工作,而无需重新定位源。

于 2012-06-25T22:46:30.530 回答
0

这是我能够按照您的建议做的唯一方法(不知道是否有更好的方法)。

打包一个 JAR 文件,其中包含 JAR 文件的源代码。将它放在你的项目中的一个文件夹中(你不需要将它添加到你的类路径中)

在 Eclipse 项目中,右键单击 JAR 文件并转到“属性”,然后转到“Java 源附件”从那里选择“工作区”按钮,然后选择包含我们从上述步骤添加的源代码的 jar 文件。

因此源附件路径将始终与项目相关。这样,如果您通过 SVN、GIT 或其他方式共享项目,源代码将始终可用,并且如果用户在 Windows 或 Linux 上运行 eclipse,它将工作。

我遇到了类似的问题,绝对路径对于使用不同操作系统的人来说是个问题,甚至通过 Samba 使用映射驱动器也没有太大帮助。

希望这可以帮助。

于 2012-06-25T15:41:00.767 回答
0

我解决这个问题的方法是在eclipse中使用一个使用定义的库。以下是您可以用来解决此问题的步骤。

  1. 在包含 jars 和源代码文件的目录中,在 eclipse 中创建一个简单的项目。

  2. 定义一个 java 用户库,将 jars 添加到用户库中,并为库中的每个 jar 指定源的位置。如果源文件位于工作区中的项目中,则路径将相对于工作区文件夹。

  3. 将用户库导出为 .xml 文件

当另一个用户想要使用与您相同的设置来设置 Eclipse 工作区时,他们将做两件事。

  1. 将包含 jar 和源代码的项目导入其工作区。

  2. 将用户库导入他们的工作区。

于 2012-06-25T21:41:33.907 回答