我的Eclipse JDT项目中有一些Ant任务,我希望在每次编译之前执行它们,因此我向Eclipse构建器配置中添加了一个Ant构建器。作为构建文件的位置,我输入
${workspace_loc:${project_path}/build.xml}
I do not希望这里有任何绝对路径,或者项目名称。Eclipse配置是存储库的一部分,其他用户可以使用不同的文件系统布局和可能不同的Eclipse项目名称来检查它。例如,在我的Eclipse工作空间中,我通常有几个相同项目的工作副本,当然每个副本都有不同的项目名称。
这在大多数情况下都有效。但是,我有时会在对话框中得到以下错误消息:
生成过程中出现错误。
在项目'MyProjectName'上运行构建器'集成外部工具构建器'时出错。
变量引用空选择:${project_path}
变量引用空选择:${project_path}
当Eclipse决定构建项目,而Package Explorer中没有选择项目的资源时,似乎就会发生这种情况。我可以通过在项目中创建一个虚拟文件,在Eclipse外部删除该文件,在Eclipse中选择它并按F5来复制它。Eclipse将注意到该文件不再存在,将其从Package Explorer中删除(因此不再选择任何内容),然后构建项目,并给出错误消息。
虽然每次编译都运行Ant任务并不是那么重要,但我不希望出现这样的错误消息框,这会使用户感到困惑。
那么我怎么能
- 以不同的方式引用build.xml文件,这样问题就会消失,或者
- 修复问题,或者
- 抑制此特定错误的错误对话框?
任何帮助都会很感激。我使用的是Eclipse 3.7 (Indigo)。
显然,它有问题转换引用到变量(${project_path})…对变量(${workspace_loc})的引用。
您可以尝试使用${build_project}变量来代替
${build_project:/build.xml}
您在Eclipse的UI中遇到了一些不便。逻辑告诉您,当您打开一个项目时,应该填充与打开的项目有关的变量。但它们不是,因为一个bug或其他原因,在焦点转移到其他地方后,代码杀死了它们。
所以你可以:
- 输入xml文件的完整路径
- 在启动外部工具之前,单击左侧项目上的(在项目浏览器视图中),然后按启动按钮。
顺便说一下,我认为${workspace_loc}${project_path}/build.xml
是可以的。