ユーザーがJavaでいくつかのモジュールを作成し、このアプリケーションのライブラリに追加できるJavaアプリケーションを作成することを考えています。モジュールは、メイン アプリからのデータを使用するいくつかの計算になります。Office の VBA に少し似ているかもしれません。
ネット上で役立つものが見つからなかったので、どこから始めればよいか誰かがヒントを教えてくれれば幸いです。
前もって感謝します!
3 に答える
理論的には可能です。ユーザーがJavaクラスを作成できるようにしてから、Javaコンパイラを使用してクラスをコンパイルし、.class
ファイルを生成できます。URLClassLoader
カスタムクラスローダー(おそらくまたはそのサブクラスなど)を使用してそれらをロードできます。
しかし、それは非常に深刻なアプリケーションです。実はそれは一種のIDEです。ですから、本当にこのチェックをしたいのであれば、Eclipseベースのアプリケーションを作成する可能性を確認してください。つまり、いくつかのEclipseプラグインを実装します。
他のアプローチは、一般的なスクリプト言語の1つでユーザーがコードを記述できるようにすることです。たとえば、Javaに似た構文を持つが、コンパイルなしで実行でき、クラスの作成などを必要としないgroovy。Javascriptもオプションです。JavascriptインタープリターはJDKの一部であるため、外部の依存関係も必要ありません。
必要に応じて、モジュール フレームワークをゼロから開発することもできます。ただし、本格的なものを開発している場合は、OSGi の使用を検討する必要があります。
なんらかの形式の jvm スクリプト言語を組み込む方がよい場合があります。groovy、jruby、jython のようなもの。それらは実際のコンパイルを必要とせず、ソースとしてシステムに保存できます。さらに、コードを書くのにも非常に便利です。Groovy には、Java のスーパーセットであるという利点があります。(ほとんどの場合) Java コードに分解し、Groovy インタープリターで実行することができます。