実行時に入力を取得し、それを使用して新しいクラスを作成し、それを JVM にロードして実行する必要があります。
これはすぐに抽象的な質問になり、具体的な回答が最小限になる可能性があるため、「スタックオーバーフローには不適切」とマークされますが、これに関する具体的な回答を本当に探しています。
これに関する多くのリソースを読みました。バイト コードの操作 (どのように開始するのかさえわかりません) から、JVM 内のすべてのクラスを再帰的にロードするまでの範囲を明らかにしました。
現在、.java
ファイルを動的に作成してから、システムコンパイラへの参照を取得し、それを使用してクラスファイルにコンパイルしています。次に、クラスのdefineClass()
メソッドを使用して、JVM へのロード を試みます。ClassLoader
これらの手順を実行した後、私はNoClassDefError
スローされましたが、これは理にかなっています.JVMにロードされたこの新しい動的に記述されたクラスを正しく取得する方法についての入力が必要ですか?
誰かのコメントによってもたらされた懸念に応えて、これは 100% 実験であり、学習目的のみです。これは製品化されるものではありません。