実行時にコンパイルを生成するクラスをロードしようとしています。このコードで問題なくコンパイルできます。
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null);
List<File> sourceFileList = new ArrayList<File>();
sourceFileList.add(new File(sourceFile));
Iterable<? extends JavaFileObject> compilationUnits = fileManager.getJavaFileObjectsFromFiles(sourceFileList);
CompilationTask task = compiler.getTask(null, fileManager, null, null,null, compilationUnits);
しかし、後で使用するためにコンパイルしたクラス (またはコンパイルされた場所) をロードする方法がわかりません。私は次のようないくつかのことを試しました:
Class type = ClassLoader.getSystemClassLoader().loadClass(className);
また
ClassLoader loader = URLClassLoader.newInstance(new URL[] { myUrl }, getClass().getClassLoader()); //(URL?)
成功せずに(私はこれらを理解していません...)。私がそれから開発できるように、私を助けてくれるか、これを行うための簡単な例を挙げていただけますか?
前もって感謝します。