将Ant构建器集成到Eclipse中:错误“变量引用空选择”

时间:2011-10-17 11:24:32

标签: java eclipse ant

我的Eclipse JDT项目中有一些Ant任务,我想在每次编译之前执行,所以我在我的Eclipse构建器配置中添加了一个Ant构建器。作为构建文件的位置,我输入了

${workspace_loc:${project_path}/build.xml}

想要在这里拥有任何绝对路径或项目名称。 Eclipse配置是存储库的一部分,其他用户使用不同的文件系统布局和可能不同的Eclipse项目名称来检查它。例如,我通常在Eclipse工作区中有相同项目的几个工作副本,每个副本当然都有不同的项目名称。

大部分时间都可以使用。但是,我有时会在对话框中收到以下错误消息:

  

构建期间发生错误   项目“MyProjectName”上运行构建器“集成外部工具生成器”的错误   变量引用空选择:$ {project_path}
  变量引用空选择:$ {project_path}

这似乎发生在Eclipse决定构建项目时,而在Package Explorer中没有选择项目的资源。我可以通过在项目中创建一个虚拟文件,删除Eclipse外部的文件,在Eclipse中选择它并按 F5 来重现它。 Eclipse将注意到该文件不再存在,将其从Package Explorer中删除(因此不再选择任何内容),然后构建项目,并显示错误消息。

虽然为每个编译运行Ant任务并不是那么重要,但我不希望有这样的错误消息框会让用户感到困惑。

那我怎么能

  • 以不同的方式引用build.xml文件,以免问题消失,或
  • 解决问题,或
  • 取消此特定错误的错误对话框?

任何帮助将不胜感激。我正在使用Eclipse 3.7(Indigo)。

2 个答案:

答案 0 :(得分:17)

显然,它在转换对变量($ {project_path})的引用时遇到了问题......对变量的引用($ {workspace_loc})。

您可以尝试使用$ {build_project}变量

${build_project:/build.xml}

我希望它有所帮助。

答案 1 :(得分:9)

您在Eclipse的UI中遇到了一些不便。逻辑表明,当您打开项目时,应填充有关已打开项目的变量。 但他们不是,因为由于一个错误或其他原因,代码在焦点转移到其他地方后杀死了它们。

作为解决方法,您可以:

  1. 将完整路径放入xml文件
  2. 在启动外部工具之前,单击左侧项目上的(在Project Explorer视图中),然后按启动按钮。
  3. 单击项目(文件夹图标)将填充变量

    顺便说一下,我认为${workspace_loc}${project_path}/build.xml没问题。