ファイル システムからオラクル コマース コンポーネントをロードできるかどうかを調べています。通常、すべてのコードを ear ファイルにアセンブルしてデプロイしますが、一部のコンポーネントを ear ファイルと一緒にパッケージ化するのではなく、ファイル システムに格納する必要があるという要件がありました。
以下に示すように、URLClassloader を使用してクラスをロードできることはわかっています。
File classDir = new File("A:\\LodeeModule\\classes");
URL[] url = { classDir.toURI().toURL() };
ClassLoader loader = new URLClassLoader(url);
for (File file : classDir.listFiles()) {
String filename = file.getName().replace(".class", "");
loader.loadClass("com.buddha.testers." + filename).getConstructor().newInstance();
}
しかし、後で Nucleus によって解決される必要があるコンポーネントに同じものを使用するにはどうすればよいでしょうか? ファイル システムからコンポーネントを解決するよう Nucleus に指示する方法はありますか?