我可以在Eclipse中使用变量引用Java源路径吗
背景 我正在使用Eclipse4.2(Juno)版本为Java应用程序构建插件。我的插件的源代码和类都位于项目工作区中。由于各种原因,应用程序jar及其源代码在eclipse工作区之外进行维护,应用程序jar由另一种构建机制生成 这不是问题,因为我在项目中使用拖放和“链接到文件”选项引用了应用程序jar文件,并指定它“创建链接位置相对于:MYDEV”,其中MYDEV是我为每个Eclipse安装创建的链接资源变量。这允许我在多台机器上使用相同的eclipse项目,其中应用程序jar的路径不同,但相对于MYDEV总是相同的 但是,除非使用绝对路径,否则我无法找到将应用程序源代码与这个jar关联的方法。我只希望出于调试目的访问应用程序源 问题我可以在Eclipse中使用变量引用Java源路径吗,java,eclipse,configuration,Java,Eclipse,Configuration,背景 我正在使用Eclipse4.2(Juno)版本为Java应用程序构建插件。我的插件的源代码和类都位于项目工作区中。由于各种原因,应用程序jar及其源代码在eclipse工作区之外进行维护,应用程序jar由另一种构建机制生成 这不是问题,因为我在项目中使用拖放和“链接到文件”选项引用了应用程序jar文件,并指定它“创建链接位置相对于:MYDEV”,其中MYDEV是我为每个Eclipse安装创建的链接资源变量。这允许我在多台机器上使用相同的eclipse项目,其中应用程序jar的路径不同,但相
在Eclipse中,如何将java源代码附加到引用的jar,从而允许在引用的源代码已重新定位的多个安装上使用项目 这是我能做到你建议的唯一方法(不知道是否有更好的方法) 打包一个包含JAR文件源代码的JAR文件。将其放在项目中的文件夹中(无需将其添加到类路径) 在eclipse项目中,右键单击JAR文件,转到“属性”,然后转到“Java源代码附件”,从中选择“工作区”按钮,然后选择JAR文件以及我们从上述步骤中添加的源代码 因此,源附件路径将始终相对于项目。这样,如果您通过SVN、GIT或其他方式共享项目,那么源代码将始终可用,并且如果用户在Windows或Linux上运行eclipse,它将起作用 我也遇到过类似的问题,绝对路径对于使用不同操作系统的人来说是一个问题,甚至没有通过Samba使用映射驱动器也有帮助
希望这能有所帮助。我解决这个问题的方法是在eclipse中使用用户定义的库。下面是您可以用来解决此问题的步骤
如果源在proyect之外,那么没有绝对路径就无法访问它
最好的解决方案是在eclipse项目目录中使用符号链接到实际的源文件夹;eclipse不会注意到源代码在项目目录之外,一切都会正常工作,而不必重新定位源代码。所以,问题是eclipse不允许您指定源代码的相对路径?您是否尝试过在
.classpath
文件中手动更改它?是的。当我刷新项目时,它只是抱怨它不是有效的路径。我也尝试了${MYDEV}和$MYDEV的所有组合。有趣的是,关于“源附件属性”的帮助部分建议使用变量选项,但在使用“Java源附件”时没有。好的,这可能是可行的,谢谢。我仍然不明白为什么它会以不同的方式对待这些事情,也就是说,为什么我可以使用一个变量来引用jar而不是它的源代码。也许开发人员以前没有想到过这个用例。这可能是值得张贴的好主意。我已经发送了错误报告,可以在这里跟踪进度。谢谢。但是,您似乎仍然需要使用绝对路径来引用源,即使它现在指向符号链接。因此,相同的路径在linux和windows之间不起作用。此外,在windows中,您必须使用“mklink”命令才能使用链接(快捷方式不起作用),这通常需要管理员访问。符号链接目录是相对于eclipse项目的,因此他可以相对地而不是绝对地引用它。如果mklink需要管理员访问windows(如果他使用的是windows),他将不得不使用sudo或其他类似的工具。我想,作为一名开发人员,他可能拥有自己计算机的root访问权限。对不起,是的,如果你记得刷新项目,这确实有效!因此,解决方法是在项目区域中创建链接,然后通过工作区位置链接它。非常感谢。是的,我可以看到它正在工作,但它似乎正在解决Eclipse中的一个潜在缺陷。