1

我是eclipse PDE的新手。我在 Eclipse 中创建了功能项目。使用 pde 工具,我创建了一个 build.xml。当我从 Eclipse 运行时,它运行良好,但是当我从外部运行它(终端使用plugins/org.apache.ant_1.8.3.v20120321-1730/bin/./ant -verbose -debug -buildfile build.xml )时,我收到错误

Problem: failed to create task or type eclipse.idReplacer
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.

此外,如果另一个 ant 脚本调用我的功能的 build.xml,则从 eclipse 中,我得到同样的异常。

我阅读了日食博客,似乎错误已修复,而 Andrew Niefer 的解决方案在我的情况下不起作用。我还尝试从其 cvs 和 git 下载 org.eclipse.releng.eclipsebuilder,但我未能下载它们。

任何想法可能是什么问题?

我的配置,java版本“1.7.0_09”,Eclipse插件开发环境版本:3.6.2.r362_v20110203-7b7mFL2FET3dhHalh1iNZtL Build id:M20110210-1200

Fedora14-64位

4

2 回答 2

1

原因:名称未定义。表示 ANT 任务 eclipse.idReplacer 未知

因为您在 Eclipse 之外运行 Ant,所以未定义某些 ANT“任务”名称。(作为参考,'eclipse.idReplacer' 在 Java 类中定义:org.eclipse.pde.internal.build.tasks.IdReplaceTask 在文件 /lib/pdebuild-antsrc/org/eclipse/pde/internal/build/tasks/ .../eclipse/plugins/org.eclipse.pde.build_3.8.2.v20121114-140810/lib/pdebuild-ant.jar Eclipse 插件中的 IdReplaceTask.java(在我的系统上)——该 java 类实现了 IdReplaceTask 类扩展 Task 类,用于实现对 Ant 的扩展。)

问题是独立的 Ant 不知道 eclipse.idReplacer。将 Ant 'typedef' 标记添加到 build.xml 以告诉 Ant 新的 'eclipse.idReplacer' 任务名称由 ...IdReplaceTask.class 定义

  <typedef name="eclipse.idReplacer"
     classname="org.eclipse.pde.internal.build.tasks.IdReplaceTask"/>

通过在 Ant 命令行中添加一个“-lib”选项,告诉 Ant 在哪里可以找到 ...IdReplaceTask.class:

ant -f /mydir/moredir/build.xml -lib \app\androidDev\eclipse\plugins\org.eclipse.pde.build_3.8.2.v20121114-1 clean build.update.jar

上面命令中的关键是“-lib ...”选项,它告诉 Ant 在哪里可以找到定义 ...IdReplaceTask 的 jar。

于 2014-10-03T14:42:13.300 回答
0

您可以尝试通过 Windows--?Preferences-- 在 Eclipse 中导入 jar(ant-contrib-1.0b3,您可以下载并保存在 eclipse/plugins/org.apache.ant_1.7.1.v20090120-1145/lib 中) >Ant-->Runtime--->在 Ant Home Entries 中添加外部 jars。

你能让我们看看 build.xml 文件吗

于 2013-02-22T08:06:13.630 回答