状況:
アルゴリズムの時間計算量をプロットするためのシミュレーターを作成しています。学生は、独自の .java ファイルを追加ロードして実行できます。私のプログラムは ('JavaCompiler' で) .java ファイルをコンパイルします。次に、.class ファイルをロードしようとします。
loadedClass = loadClass("customAlgorithms."+this.getClassName()+"");
私のプログラムを Eclipse で実行すると、すべてが正常に動作し、学生はプログラムを問題なく使用できます。
問題:
しかし、その後、プロジェクトを実行可能な jar ファイルにエクスポートします。コンパイル部分は引き続き機能しますが、jar ファイル内でクラスを検索するため、クラスのロードは失敗します。
なぜこれができないのだろうと思っていました: (変更 . with /)
loadedClass = loadClass("customAlgorithms/"+this.getClassName()+"");
どのようなオプションが可能ですか? ここで私が考えることができるもの:
コンパイルされた .class ファイルを現在実行中の .jar ファイルに追加します。これでも機能しますか?
jar アーカイブを編集できることは知っています。しかし、これは実行中にプログラムを再起動せずに機能しますか?
「loadClass()」を使用する他の方法はありますか? 私のjarファイルに含まれていないクラスファイルをロードできるように
他のアイデアはありますか?