Thu, July 16, 2009
AntからJythonを使いたい
Antのscriptタスクでjythonを動かせないものか?
O'REILLY Book の Ant では、 scriptタスクを使って、JavaScriptをAntから使う方法が紹介されている。 そのあたりのページを見ると、jython.jar を使うと、scriptタスクからJython使える風な 情報があるのだが、実際にやってみてもうまく動かなかった。(たぶん私の設定が悪いのだろうが。)
ならば・・・ということで、先日調べた svn の実行方法と同じように jythonも単なるjavaプログラムなのだから、javaタスクを使って実行すればいいじゃないかと。
Ant から Javaタスクを使って Jython を実行する
jythonをインストールしたディレクトリの jython コマンドを参考に以下のように build.xml を設定して 実行したところ、簡単な Jython コードを動かすことができました。
jython コマンドでは、-Dpython.home などの追加のオプションも起動時に渡しているようなので、 そのあたりもきちんとしないと問題が生じるかもしれません。
build.xml
<?xml version="1.0" encoding="UTF-8" ?>
<project default="main" >
<target name="main" >
<java
classname="org.python.util.jython" dir="." fork="true">
<arg value="hello.py"/>
<classpath>
<pathelement location="lib/jython.jar" />
<pathelement location="lib/jdom.jar" />
</classpath>
</java>
</target>
</project>
※lib/jython.jar を配置しておくことをお忘れなく。
hello.py
build.xml から実行する jython コード。
print "Hello world."
実行
$ ant
main:
[java] Hello world.
BUILD SUCCESSFUL
テストに使用した環境
- Ubuntu 8.04
- Jython 2.5.0 (Release25_0:6476, Jun 16 2009, 13:33:26)
- java version "1.6.0_07"