无法使用 eclipse (Ant ivy) 构建 liferay 项目
Failing to build a liferay project with eclipse (Ant ivy)
我遇到了这个错误
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} 没有定义,但我可以在哪里定义它?
正如@CAustin 所解释的,您的问题是 "if" 任务不是标准的 ANT 功能。它是 ANT 的第 3 方扩展的一部分,称为 ant-contrib,我同意最好避免使用它。
如果您想自动执行 ivy 的条件安装,请尝试以下操作:
<project name="demo" default="build" xmlns:ivy="antlib:org.apache.ivy.ant">
<available classname="org.apache.ivy.Main" property="ivy.installed"/>
<target name="install-ivy" unless="ivy.installed">
<mkdir dir="${user.home}/.ant/lib"/>
<get dest="${user.home}/.ant/lib/ivy.jar" src="http://search.maven.org/remotecontent?filepath=org/apache/ivy/ivy/2.4.0/ivy-2.4.0.jar"/>
<fail message="Ivy has been installed. Run the build again"/>
</target>
<target name="resolve" depends="install-ivy">
<ivy:resolve/>
..
..
希望对您有所帮助
我遇到了这个错误
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} 没有定义,但我可以在哪里定义它?
正如@CAustin 所解释的,您的问题是 "if" 任务不是标准的 ANT 功能。它是 ANT 的第 3 方扩展的一部分,称为 ant-contrib,我同意最好避免使用它。
如果您想自动执行 ivy 的条件安装,请尝试以下操作:
<project name="demo" default="build" xmlns:ivy="antlib:org.apache.ivy.ant">
<available classname="org.apache.ivy.Main" property="ivy.installed"/>
<target name="install-ivy" unless="ivy.installed">
<mkdir dir="${user.home}/.ant/lib"/>
<get dest="${user.home}/.ant/lib/ivy.jar" src="http://search.maven.org/remotecontent?filepath=org/apache/ivy/ivy/2.4.0/ivy-2.4.0.jar"/>
<fail message="Ivy has been installed. Run the build again"/>
</target>
<target name="resolve" depends="install-ivy">
<ivy:resolve/>
..
..
希望对您有所帮助