No Programming, No Life

プログラミング関連の話題や雑記

AntBuilderでデフォルトではNative2Asciiタスクが使えない

AntBuilderでnative2asciiを使いたかったんですが、そのままだと使えないみたい。
動作確認: Groovy Version: 1.6.0 JVM: 1.6.0_12

実行すると以下のようなエラーが出る


>groovy compile.groovy
Caught: : Problem: failed to create task or type native2ascii
Cause: the class org.apache.tools.ant.taskdefs.optional.Native2Ascii was not
found.
This looks like one of Ant's optional components.
Action: Check that the appropriate optional JAR exists in
-ANT_HOME\lib
-the IDE Ant configuration dialogs

Do not panic, this is a common problem.
The commonest cause is a missing JAR.

This is not a bug; it is a configuration problem

at compile.run(compile.groovy:23)

そういえばNative2Asciiタスクはオプショナルなんだ

ということで、Antの最新バージョン*1ここから落としてきて、適当なフォルダ*2に展開。
ant-nodeps.jarっていうjarの中に入ってるみたいなので -cp でクラスパスを通すことで実行できました。


>groovy -cp "C:\tool\apache-ant-1.7.1\lib\ant-nodeps.jar" compile.groovy

*1:執筆時の最新バージョンはApache Ant 1.7.1でした。

*2:私はC:\tool\apache-ant-1.7.1にしました。ちなみにここをANT_HOMEで環境変数に指定しておくのが通例。