【发布时间】:2011-11-16 09:29:25
【问题描述】:
这个问题类似于Integrate Ant builder into Eclipse: Error "Variable references empty selection",但要求的内容不同。
在我的 Eclipse JDT 项目中,我有一些要在编译之前执行的 ant 任务,所以我在我的 Eclipse 构建器配置中添加了一个 ant 构建器。现在我想为此构建器配置“完成时刷新资源”和“相关资源的工作集”两个选项,以便它们包含我项目中的特定目录。
两者都允许我用这个dialogue 指定一个“工作集”。问题是这会将路径放在与工作空间相关的 Eclipse 构建器配置文件中,因此路径将包含项目名称。
问题是整个项目是在一个颠覆存储库中管理的。 Eclipse 配置是存储库的一部分,其他用户使用不同的文件系统布局和可能不同的 Eclipse 项目名称来检查它。例如,我通常在我的 Eclipse 工作区中有同一个项目的多个工作副本,当然每个副本都有不同的项目名称。
这就是为什么我正在寻找一种方法如何在 Eclipse 中指定相对于项目目录的工作集(不是工作区目录),或 其他定义刷新范围的方法构建器,使其在我的项目中包含一个目录。
我正在使用 Eclipse 3.7 (Indigo)。
如果我在对话框中配置工作集,然后在配置文件中查看,以下字符串是ATTR_REFRESH_SCOPE 选项的值:
${working_set:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<item path="/MyProject" type="4"/>
</resources>}
净化后的样子如下:
${working_set:
<?xml version="1.0" encoding="UTF-8"?>
<resources><item path="/MyProject/lib" type="2"/></resources>
}
所以我想从中获得“MyProject”部分。我尝试了上述问题的解决方案,并将路径替换为${build_project:/lib}。这不会给出错误消息,但似乎没有效果(Eclipse 不会刷新提到的目录)。
我还尝试用${build_project:/lib} 替换整个工作集定义,但这会给出错误消息Unable to restore resource memento。
我知道我可以告诉 Eclipse 在构建器运行后刷新整个项目,但这不是我想要的(它很慢)。同样对于“相关资源”配置选项,这意味着构建器在项目中的每次更改后都会不必要地运行。
【问题讨论】:
-
您找到解决方案了吗?
-
不,我仍在寻找解决方案。感谢您添加赏金。