3

小さなJavaデスクトップアプリの開発を始めようとしています。このアプリは、ユーザーが作業(入力から出力への変換)を行うためのJavaクラスを提供するための単なるエンジンです。

その場でロード(およびリロード)できるファイルとして実際のJavaクラスを提供してほしい。

この特定の用途では、JavaがGroovyやBeanshellよりも扱いにくい理由はありますか?Groovy / BeanshellとJavaの比較はたくさんあるので、私は求めていません。むしろ、 Javaと比較してファイルからGroovyまたはBeanshellクラスを動的にロードする方が簡単かどうかを知りたいです。

Java 1.6の場合、JavaCompilerはコードを動的にロードするための最良の方法ですか?私はすべての言語機能を使いたいので、Janinoは出ていると思います。また、リロードに問題はありますか?

注:私はこれこれを見ましたが、彼らが私の質問に答えるかどうかはわかりません。

4

1 に答える 1

3

JavaCompilerは非常に汎用性がありますが、マイナーな潜在的な構成上の問題が伴います。javax.toolsでは、ToolProvider.getSystemJavaCompiler()はコンパイラのクラスを として識別しcom.sun.tools.javac.api.JavacToolます。一部のプラットフォームでは、そのクラスは JRE の一部ではありません。JDKが必要なようです。ここにがあります。

ここで説明するjavax.scriptも考慮してください。いくつかのスクリプト エンジンがサポートされています。

于 2009-12-25T17:18:33.910 に答える