質問

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

ユーザーには、実際の Java クラスを、その場でロード (および再ロード) できるファイルとして提供してもらいたいと考えています。

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

Java 1.6 の場合、 Javaコンパイラ コードを動的にロードする最良の方法は何でしょうか?私はすべての言語機能を使いたいので、Janino はアウトだと思います。また、リロードに問題はありますか?

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

役に立ちましたか?

解決

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

も検討してください javax.script, 、議論しました ここ. 。いくつかの スクリプトエンジン サポートされています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top