0
メインのSpringアプリケーションからInterfaceを実装する外部module.jarをロードしようとしています。ServiceLoader、URLClassLoader&Spring:java.lang.NoClassDefFoundError
ので、私は残念ながら、これは、この例外をスローthis solution
@Override
public void onApplicationEvent(ApplicationReadyEvent event) {
File loc = new File("plugins");
File[] flist = loc.listFiles(new FileFilter() {
public boolean accept(File file) {return file.getPath().toLowerCase().endsWith(".jar");}
});
URL[] urls = new URL[flist.length];
for (int i = 0; i < flist.length; i++) {
try {
urls[i] = flist[i].toURI().toURL();
System.out.println(flist[i].toURI().toURL().toString());
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
URLClassLoader ucl = new URLClassLoader(urls);
ServiceLoader<DeviceInterface> sl = ServiceLoader.load(DeviceInterface.class, ucl);
Iterator<DeviceInterface> apit = sl.iterator();
while (apit.hasNext())
System.out.println(apit.next().getName());
}
を実装:
java.lang.NoClassDefFoundError: de/maxrakete/james/device/domain/DeviceInterface
は、私は自分のモジュール内の依存関係としての私のメインのアプリケーションを宣言することになっているだろうか?現在、私のモジュールは独自の依存関係しか持っていません。
私がオンラインで見つけたリクルートは、この問題についてはっきりしていませんでした。
私の主なアプリケーションにはどうしますか? – mietzekotze
はい、依存関係が必要なアプリケーション – StanislavL
Unfortunatlyそれは私の問題を解決しませんでした。私はまだ同じエラーが発生します – mietzekotze