当前位置: 首页 > 知识库问答 >
问题:

Ant:无法创建任务或javac类型

拓拔飞飙
2023-03-14

当我运行我的ant任务时,我得到以下错误

/build.xml:61:问题:无法创建任务或类型javac原因:找不到类org.apache.tools.ant.taskdefs.javac。操作:检查组件是否已正确声明,并且实现JAR是否位于以下目录中:-/idea-ic-107.587/lib/ant/lib-/home/.ant/lib-在命令行中添加了-lib参数的目录

但是我在上面提到的路径中有ant.jar(它包含Javac类)。谁能告诉我这个问题的原因是什么。

共有1个答案

万喜
2023-03-14

除了javac任务需要tools.jar(位于JDK的/lib目录中)之外,您的所有ant任务都可以正常工作。
所以您需要使用JDK而不是JRE来使javacant任务正常工作。
也请参阅ant输出,当使用JRE时,ant会向stdout输出一个警告:

"Unable to find a javac compiler;..."
 类似资料:
  • Ant Javac任务用于编译Java源文件。 它扫描源和目标目录以编译源文件,只在不存在或比Java文件旧时才编译。 如果Java源文件位于任何包中,则源文件应具有目录层次结构。 1. Apache Ant Javac属性 属性 描述 必需 源Java文件 是 存储类文件的目标 否 必须包含的文件模式列表 否 文件的每一行都被视为包含模式 否 必须排除的文件模式列表 否 文件的每一行都被视为排除

  • 此任务用于创建目录。如果目录不存在,它会创建一个新目录。 如果目录已存在,则不会创建目录。 此任务使用以下属性。 1. Apache Ant Mkdir任务属性 属性 描述 必需 要创建的目录 是 2. Apache Ant Mkdir任务示例 参考以下示例代码: 上面的代码将在当前项目位置创建一个目录:yiibai-dir。 创建嵌套目录(子目录) 上面的代码将在yiibai-dir目录中创建一

  • 问题内容: 我面临一个问题。我在机器上重命名,并注意到任务仍然可以正常工作。 有人知道从哪里获取吗? 问题答案: 实际上,我相信默认情况下,Ant会尝试直接使用以下代码执行Java编译器类: 代码来自这里 。 这意味着,如果库tools.jar位于Ant的当前类路径上,它将拾取该类并启动它。这导致javac.exe可以重命名为您想要的任何名称,它仍然可以工作。因此,要回答您的问题,它实际上不执行任

  • 我正在尝试使用enuncicate v1.26.2 ant任务创建java客户端库。问题是,每次我尝试这样做时,我都会收到以下警告信息: 我已经检查了java-客户端发音jar是否在类路径上,并且发音甚至说它已经在输出中找到了它。 所以我不确定到底该怎么做。我尝试在谷歌上搜索,发现SO只有几个问题需要阐明,似乎没有一个回答我的问题。这是我的蚂蚁脚本,其中包含相关行: 注意:docs export被

  • 在构建中使用自定义Ant任务 为了让你的构建可以自定义任务, 你可以使用 taskdef(通常更容易) 或者 typedef Ant 任务, 就像你在一个build.xml文件中一样. 然后,你可以参考内置 Ant 任务去定制 Ant 任务. 例 16.5.使用自定义 Ant 任务 build.gradle task check << { ant.taskdef(resource: 'ch

  • 16.1.使用 Ant 任务和 Ant 类型的构建 在构建脚本中, Ant 属性是由 Gradle提供的. 这是一个用于参考的 AntBuilder 实例. AntBuilder 用于从构建脚本访问 Ant 任务, 类型和属性. 下面的例子解释了从 Ant 的 build.xml 格式到 Grooy 的映射. 你可以通过调用 AntBuilder 实例的方法执行 Ant 任务. 你可以使用任务名称