次のデモスクリプトを使用しています。
<?xml version="1.0" encoding="UTF-8"?>
<project name="test" basedir="." xmlns:deploy="antlib:net.sf.antcontrib">
<target name="default">
<taskdef resource="net/sf/antcontrib/antlib.xml">
<classpath>
<pathelement location="lib/ant-contrib-1.0b3.jar"/>
</classpath>
</taskdef>
<deploy:if>
<isset property="defaultprop"/>
<then>
<echo message="it's set!"/>
</then>
</deploy:if>
</target>
</project>
このビルドスクリプトを(ターゲットを使用してdefault
)実行すると、エラーは次のようになります。
build.xml:9: Problem: failed to create task or type antlib:net.sf.antcontrib:if
pathelementlib/ant-contrib-1.0b3.jar
が存在し、antがそれを取得しています。問題は、xmlnsの使用方法にあると思います。私はこれを私が持っている別の例から取っていますが、それも私には機能しません(ただし、特定のサーバーでは機能します!)、そして魔法のソースが何であるかを理解しようとしています。