2009-06-29 13 views

答えて

3

いいえJavaはコンパイルされた言語なので、コンパイラを最初に呼び出さない限り、この動作は不可能です。 (そしてJavaを持つマシンにJavaコンパイラがあるという保証はありません)

3

Java VMが非常にうまくサポートしているスクリプト言語を探し始める方が簡単かもしれません。

Groovyが最初に思い浮かぶのは、Javaのような構文です。

8

BeanShellをお試しください。入門ページから:

BeanShellとは何ですか?

のBeanShellはJavaで書かれた を対象 スクリプト言語機能、小さな、無料、組み込み可能 Javaソース・インタープリタです。 BeanShellは動的に 標準のJava構文を実行し、 は、一般的なスクリプト のルーズタイプ、 コマンド、およびメソッド終了のような便利さをPerlやJavaScriptの のように拡張しています。

あなたは、Java実験とデバッグ のための対話的 をBeanShellのを使用することができるだけでなく、あなたのアプリケーションの新しい方法で を延長します。スクリプティングJavaは、迅速なプロトタイピング 、ユーザースクリプトの拡張子、 ルール・エンジン、設定、テスト、 ダイナミックな展開、組み込みシステム、 、さらにはJavaの教育を含め 多種多様なアプリケーションに 向いています。

BeanShellのは、実行時に動的にJavaコード を実行するために、あなたのJava アプリケーションからBeanShellのを呼び出すことができたり、アプリケーションで 拡張性を提供するために、小型で組み込み可能なので、 。 また、スタンドアロンの BeanShellスクリプトを使用して、Java アプリケーションを操作することもできます。 Java のオブジェクトとAPIを動的に処理します。 BeanShellはJavaで書かれており、アプリケーションと同じVMに を実行すると、 「ライブ」オブジェクトへの参照をスクリプトに自由に渡して、結果として を返すことができます。要するに

、BeanShellのは、動的 のJavaを解釈し、プラスのすべて は1つのきれいなパッケージに巻かれたスクリプト言語 かつ柔軟な環境です。

1

おそらく。 compiler APIを使用して非自明に行うことができます。しかし、テキストファイルに任意のコードを実行するのではなく、プログラムを制御するXML設定を作成する方が良いでしょう。

0

Janinoを使用して、生成された* .javaファイルをコンパイルできます。ファイルをコンパイルした後、* .classファイルをロードし、リフレクションによってメソッドを呼び出すことができます。

関連する問題