【发布时间】:2018-01-10 22:28:11
【问题描述】:
我收到了这个错误
BUILD FAILED
C:\---\---\---\build-common-ivy.xml:7: Problem: failed to create task or type if
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.
在我定义属性 name="ivy.home" 的那一行似乎失败了:
<project name="build-common-ivy" xmlns:antelope="antlib:ise.antelope.tasks" xmlns:ivy="antlib:org.apache.ivy.ant">
<property name="ivy.home" value="${sdk.dir}/.ivy" />
<if>
<not>
<available file="${ivy.home}/ivy-${ivy.version}.jar" />
</not>
<then>
...
我认为是 ${sdk.dir} 没有定义,但我可以在哪里定义它?
【问题讨论】:
-
您似乎正在尝试使用 ant-contrib 的
<if>任务,但您尚未在脚本中加载 ant-contrib 的任务。作为记录,我建议不惜一切代价避免使用 ant-contrib。它会导致脚本出现系统性问题,并且绝大多数情况下 vanilla Ant 会更快、更安全、更优雅地完成您需要的工作。
标签: java eclipse ant liferay-6 ivy