After recent automatic update of JForex to 3.2.9 i'm not able to use my plugin with annotation @Library("external.jar").
I notice 2 problems there (from JForex\logs\*.log):
1. If a class with plugin code already appears in "external.jar" i receive that error
(note: NO error messages are displayed in UI - i just silently not able nor open MyPlugin.java nor activate plugin compiled earlier)
2017-07-17 09:25:55.826 WARN com.dukascopy.dds2.greed.gui.component.tree.actions.bf - loader (instance of com/dukascopy/dds2/greed/agent/compiler/c): attempted duplicate class definition for name: "MyPlugin"
java.lang.LinkageError: loader (instance of com/dukascopy/dds2/greed/agent/compiler/c): attempted duplicate class definition for name: "MyPlugin"
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at com.dukascopy.dds2.greed.agent.compiler.c.a(L:285)
at com.dukascopy.dds2.greed.agent.compiler.e$c.a(L:716)
at com.dukascopy.dds2.greed.agent.compiler.e$d.read(L:851)
at com.dukascopy.dds2.greed.agent.compiler.e.d(L:389)
at com.dukascopy.dds2.greed.agent.compiler.e.N(L:372)
at com.dukascopy.api.impl.fw.V(L:82)
at com.dukascopy.api.impl.fr.getJFRunnable(L:39)
at com.dukascopy.api.impl.fw.b(L:37)
at com.dukascopy.api.impl.fw.<init>(L:25)
at com.dukascopy.dds2.greed.gui.component.tree.a.akp(L:253)
2. After fixing problem #1 (i.e. removed MyPlugin.class from "external.jar"), i'm able to compile it, but plugin fails to start - it seems that class loader does not see classes from "external.jar" (the 'stub/IAccountStub' mentioned below)
2017-07-17 09:32:27.555 WARN com.dukascopy.dds2.greed.gui.component.tree.actions.bf - stub/IAccountStub
java.lang.NoClassDefFoundError: stub/IAccountStub
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at com.dukascopy.dds2.greed.agent.compiler.c.a(L:285)
at com.dukascopy.dds2.greed.agent.compiler.e$c.a(L:716)
at com.dukascopy.dds2.greed.agent.compiler.e$d.read(L:851)
at com.dukascopy.dds2.greed.agent.compiler.e.d(L:389)
at com.dukascopy.dds2.greed.agent.compiler.e.N(L:372)
at com.dukascopy.api.impl.fw.V(L:82)
at com.dukascopy.api.impl.fr.getJFRunnable(L:39)
at com.dukascopy.dds2.greed.agent.h.a(L:225)
at com.dukascopy.dds2.greed.gui.component.tree.actions.au$a.SM(L:103)
at com.dukascopy.dds2.greed.gui.component.dialog.disclaimers.PluginDisclaimerDialog.SM(L:65)
at com.dukascopy.dds2.greed.gui.component.dialog.disclaimers.PluginDisclaimerDialog.a(L:37)
at com.dukascopy.dds2.greed.gui.component.tree.actions.au.a(L:81)
at com.dukascopy.dds2.greed.gui.component.tree.actions.au.V(L:73)
at com.dukascopy.dds2.greed.gui.component.tree.actions.au.V(L:37)
at com.dukascopy.dds2.greed.gui.component.tree.actions.bf.execute(L:37)
at com.dukascopy.dds2.greed.gui.component.tree.listeners.af.actionPerformed(L:1055)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
Please fix this ASAP because plugins became not usable
.