Funz / plugin-Telemac

Telemac free-surface flow plugin for Funz
0 stars 1 forks source link

Failed to load Telemac.cplugin.jar in FunzDeamon.* #1

Closed yannrichet closed 5 years ago

yannrichet commented 5 years ago

So got following error at results parsing:

Exception in thread "Thread-3" java.lang.NoClassDefFoundError: org/fudaa/dodico/ef/io/serafin/SerafinNewReader at org.funz.Telemac.TelemacHelper.extractPOIfromRES(TelemacHelper.java:133) at org.funz.Telemac.TelemacHelper.writeCSVfromRES(TelemacHelper.java:197) at org.funz.Telemac.TelemacCPlugin$TelemacLauncher.runCommand(TelemacCPlugin.java:75) at org.funz.calculator.plugin.DefaultCodeLauncher.execute(DefaultCodeLauncher.java:50) at org.funz.calculator.plugin.DefaultCodeLauncher.run(DefaultCodeLauncher.java:226) Caused by: java.lang.ClassNotFoundException: org.fudaa.dodico.ef.io.serafin.SerafinNewReader at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

A baseline to solve should be:

File file = ...
URL url = file.toURI().toURL();

URLClassLoader classLoader = (URLClassLoader)ClassLoader.getSystemClassLoader();
Method method = URLClassLoader.class.getDeclaredMethod("addURL", URL.class);
method.setAccessible(true);
method.invoke(classLoader, url);
yannrichet commented 5 years ago

https://github.com/Funz/plugin-Telemac/pull/2