有没有办法相对于.project文件设置链接资源?

Joh*_*rms 22 eclipse version-control project relative-path

我们有一个Flash Builder(基于Eclipse)项目,该项目从不同位置提取源,包含在项目所在的源代码控制中.根据我们的组织要求,源代码存在于不直接位于项目目录下的目录中.最初我们遇到的问题是链接资源的所有路径都是绝对的,并且在具有不同路径的其他机器上不起作用.

现在,我们的解决方案是设置一个指向工作文件夹根目录的链接资源路径变量.所有其他位置都基于此,因此我们可以包含文件夹中的来源

${WORKING_BASE}/library1
${WORKING_BASE}/library2
Run Code Online (Sandbox Code Playgroud)

此解决方案的问题在于,每个拉动项目的人都必须在打开项目之前正确设置WORKING_BASE变量才能使其工作.我的问题是,有没有办法使链接资源相对于.project文件的位置?那将是理想的.

小智 40

从Eclipse 3.6(Helios)开始就有可能

打开项目属性并转到Resources> Linked Resources> Path Variables.

在那里,您可以创建相对于现有变量的新变量.例如:
名称:MY_SOURCE_FOLDER
位置:$ {PROJECT_LOC}\..\src

这将为.project文件添加一个新的Path变量,其值如下:

$%7BPARENT-1-PROJECT_LOC%7D/src
Run Code Online (Sandbox Code Playgroud)

意思是${PARENT-1-PROJECT_LOC}/src,这1意味着父目录比PROJECT_LOC高1倍.


小智 26

使用eclipse 3.7,给出这条路径:

C:\projects\workspace\project1
C:\projects\workspace\project2
Run Code Online (Sandbox Code Playgroud)

在project1中你可以做到:

PROJECT_LOC => C:\projects\workspace\project1
PARENT-1-PROJECT_LOC => C:\projects\workspace
PARENT-2-PROJECT_LOC => C:\projects\
PARENT-1-PROJECT_LOC\project2 => C:\projects\workspace\project2
Run Code Online (Sandbox Code Playgroud)

  • 我更喜欢这个答案,更简单的例子,这个例子让事情变得清晰(我觉得实际的功能非常神秘) (3认同)
  • 可在此处找到更好的解释:http://taglist.blogspot.fi/2011/08/eclipse-tricks-relative-paths-in-linked.html (2认同)