RhinoでJava標準クラスライブラリ以外のライブラリを使う方法 ... たとえば jdom
Javaの標準クラスライブラリなら importPackage を使えばOK。
参考 ( Javaでスクリプトする )
そうではなく自分で作ったクラスライブラリや非標準のクラスライブラリを使うにはどうすればいいのか。
このエントリーは jdom を使う方法を調査したメモ。 ちなみにテストした環境は Ubuntu 9.10 です。
Step1 jdom.jar を入手
jdom からダウンロードして、 ~/bin/lib/jdom.jar に配置しました。
Step2 js コマンドを用意
/usr/bin/js があったので(ない場合は apt-get install rhino すればいいのではないか、たぶん) それを ~/bin/js にコピーして修正。 結果は以下の通り。(クラスパスに jdom.jar を追加しただけです。)
#!/bin/sh
JAVA_CMD="/usr/bin/java"
JAVA_OPTS=""
JAVA_CLASSPATH="/usr/share/java/js.jar:/usr/share/java/jline.jar:$HOME/bin/lib/jdom.jar"
JAVA_MAIN="org.mozilla.javascript.tools.shell.Main"
isOpenJDK=`$JAVA_CMD -version 2>&1 | grep -i "OpenJDK" | wc -l`
if [ $isOpenJDK -gt 0 ]
then
JAVA_OPTS="-Xbootclasspath:/usr/lib/jvm/java-6-openjdk/jre/lib/rt.jar"
fi
$JAVA_CMD $JAVA_OPTS -classpath $JAVA_CLASSPATH $JAVA_MAIN $@
Step3 test.js を作成
var eleP = Packages.org.jdom.Element('p');
print( eleP );
実行
~/bin/js test.js