前回,動的にJavaのソースを作成し,コンパイルを行う方法を紹介しました。しかし,実際にコンパイルを行うまでの手順は少々多いのが気になるところです。そこで,今回はもう少し簡単に動的にJavaのソースをコンパイルする方法を紹介しましょう。

その方法は本連載「Java SE 6完全攻略」の第58回から10回にわたって解説を行ったJSR 223 Scripting for Java Platformです。

えっ,Javaはスクリプトではないけどと思われた方も多いかもしれません。しかし,Compiler APIとJSR 223を組み合わせることで,Javaをスクリプトのように扱うことが可能なのです。

JSR 223でJavaを扱うには少しだけ準備が必要です。というのも,Java SEにデフォルトで添付されているスクリプトエンジンはJavaScriptのスクリプトエンジンであるMozilla Rhinoしかないためです。

Java用のスクリプトエンジンは,java.netのScripting Projectで提供されています(図1)。

図1●Scripting Project
[画像のクリックで拡大表示]

 では,Scripting ProjectのWebページの左側のサイドバーにあるDocuments & filesをクリックして,ダウンロードのページに移動してみましょう。jsr223-engines.tar.gzもしくはjsr223-engines.zipがスクリプトエンジンです。どちらでもかまわないので,ダウンロードしましょう。

jsr223-engines.tar.gzもしくはjsr223-engines.zipを展開すると,jsr223-enginesというディレクトリが作成されます。

その下には,beanshellからxsltまで,24のディレクトリが作成されます。それぞれ,ディレクトリ名に対応した言語のスクリプトエンジンになります。

ここでは,もちろん,javaを選択します。javaディレクトリの下にはbin,build,libの3つのディレクトリが存在します。binにはjrunscriptでJavaを扱うためのBATファイルとシェルスクリプトファイルがあります。

スクリプトエンジンの本体はbuildディレクトリに存在するjava-engine.jarです。このjava-engine.jarファイルをクラスパスに含めることで,Javaをスクリプトとして扱うことができます。

この先は会員の登録が必要です。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら