背景
我正在使用Eclipse 4.2(Juno)版本为Java应用程序构建插件。我的插件的源代码和类都驻留在项目工作区中。由于各种原因,应用程序jar及其源代码在eclipse工作空间之外维护,应用程序jar由另一个构建机制生成。
这不是问题,因为我使用拖放操作在我的项目中引用了应用程序jar文件,并使用'链接到文件'选项指定它'创建相对于的项目链接位置: MYDEV ',其中 MYDEV 是我为每个Eclipse安装创建的链接资源变量。这让我在多个机器上使用相同的eclipse项目,其中应用程序jar的路径变化,但相对于MYDEV总是相同。
但是,我找不到将应用程序源代码与此jar关联的方法,除非我使用绝对路径。我只想访问应用程序源以进行调试。
问题
在Eclipse中,如何以允许项目在已重定位引用的源代码的多个安装中使用的方式将java源附加到引用的jar?
答案 0 :(得分:1)
如果源位于proyect之外,那么没有绝对路径就无法访问它。
最好的解决方案是在eclipse项目目录中使用符号链接到实际的源文件夹; eclipse不会注意到源是在项目目录之外,一切都会正常工作,而不必重新定位源。
答案 1 :(得分:0)
这是我能够做你所建议的唯一方式(不知道是否有更好的方法)。
打包包含JAR文件源代码的JAR文件。将它放在项目中的文件夹中(您不需要将其添加到类路径中)
在eclipse项目中右键单击JAR文件并转到“属性”然后转到“Java源附件”从那里选择“工作区”按钮并选择带有我们从上面步骤添加的源代码的jar文件。
因此,源附件路径将始终相对于项目。这样,如果您通过SVN,GIT或其他任何方式共享项目,源代码将始终可用,如果用户在Windows或Linux上运行eclipse,它将起作用。
我遇到了类似的问题,对于使用不同操作系统的人来说,绝对路径是一个问题,甚至没有通过Samba使用映射驱动器帮助那么多。
希望这有帮助。
答案 2 :(得分:0)
我解决这个问题的方法是在eclipse中使用一个use use library。这里是您可以用来解决此问题的步骤。
在包含jar和源代码文件的目录中在eclipse中创建一个简单的项目。
定义java用户库将jar添加到用户库,并为库中的每个jar指定源的位置。如果源文件位于工作空间中的项目中,则路径将相对于工作空间文件夹。
将用户库导出为.xml文件
当另一个用户想要设置与你的设置相同的eclipse工作区时,他们会做两件事。
将包含jar和源的项目导入其工作区。
将用户库导入其工作区。