markus
I'm new here

ClassNotFoundException beim Aufruf einer Executable

Hallo,

ich habe ein Modul mit einer ExecutableClass die ich im Context-Menü aufrufe.

Bei dieser Konfiguration der Libraries in der module.xml :

<module>

.....

    <resources>

        <resource scope="module" >lib/jtds-1.2.5.jar</resource>

        <resource scope="module" >lib/openjpa-all-2.0.0.jar</resource>

        <resource scope="module" >lib/menu-editor-module.jar</resource>

    </resources>

</module>

bekomme ich diesen Fehler, wenn ich die Executable ausführen will:

FSVersion=4.2.437.44763#1597;JDK=1.6.0_24 32bit Sun Microsystems Inc.;OS=Windows 7 6.1 x86;Date=16.06.2011 17:09:56

de.espirit.firstspirit.access.script.SyntaxError: java.lang.ClassNotFoundException: com.communicode.menueditor.gui.MenuEditorAddExecutable

    at de.espirit.firstspirit.server.script.ClassCallerEngine.getExecutable(ClassCallerEngine.java:46)

    at de.espirit.firstspirit.common.ScriptUtil.getExecutable(ScriptUtil.java:68)

    at de.espirit.firstspirit.store.access.templatestore.ScriptImpl.getExecutable(ScriptImpl.java:270)

    at de.espirit.firstspirit.client.action.ScriptMenuAction$ScriptAction.actionPerformed(ScriptMenuAction.java:216)

    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)

    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)

    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)

    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)

    at javax.swing.AbstractButton.doClick(Unknown Source)

    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)

    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)

    at java.awt.Component.processMouseEvent(Unknown Source)

    at javax.swing.JComponent.processMouseEvent(Unknown Source)

    at java.awt.Component.processEvent(Unknown Source)

    at java.awt.Container.processEvent(Unknown Source)

    at java.awt.Component.dispatchEventImpl(Unknown Source)

    at java.awt.Container.dispatchEventImpl(Unknown Source)

    at java.awt.Component.dispatchEvent(Unknown Source)

    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)

    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)

    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)

    at java.awt.Container.dispatchEventImpl(Unknown Source)

    at java.awt.Window.dispatchEventImpl(Unknown Source)

    at java.awt.Component.dispatchEvent(Unknown Source)

    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)

    at java.awt.EventQueue.access$000(Unknown Source)

    at java.awt.EventQueue$1.run(Unknown Source)

    at java.awt.EventQueue$1.run(Unknown Source)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)

    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)

    at java.awt.EventQueue$2.run(Unknown Source)

    at java.awt.EventQueue$2.run(Unknown Source)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)

    at java.awt.EventQueue.dispatchEvent(Unknown Source)

    at de.espirit.firstspirit.client.AWTDispatchingEventQueue.defaultDispatchEvent(AWTDispatchingEventQueue.java:130)

    at de.espirit.firstspirit.client.AWTDispatchingEventQueue._dispatchEvent(AWTDispatchingEventQueue.java:115)

    at de.espirit.firstspirit.client.AWTDispatchingEventQueue.dispatchEvent(AWTDispatchingEventQueue.java:108)

    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

    at java.awt.EventDispatchThread.run(Unknown Source)

Caused by: java.lang.ClassNotFoundException: com.communicode.menueditor.gui.MenuEditorAddExecutable

    at java.net.URLClassLoader$1.run(Unknown Source)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.net.URLClassLoader.findClass(Unknown Source)

    at de.espirit.firstspirit.server.module.ExtendedUrlClassLoader.findClass(ExtendedUrlClassLoader.java:78)

    at de.espirit.firstspirit.server.module.ModuleClassesLoader.findClass(ModuleClassesLoader.java:132)

    at java.lang.ClassLoader.loadClass(Unknown Source)

    at java.lang.ClassLoader.loadClass(Unknown Source)

    at de.espirit.firstspirit.server.module.MutableClassLoader.loadClass(MutableClassLoader.java:121)

    at de.espirit.firstspirit.server.script.ClassCallerEngine.getExecutable(ClassCallerEngine.java:42)

    ... 44 more

siehe dazu auch:

https://community.e-spirit.com/message/5311#5311

0 Kudos
12 Replies
gockel
Crownpeak employee

> scope="module"

So kann das auch nicht funktionieren. Deshalb hatte Christoph (s.o.) ja auch vorgeschlagen ein Public zu definieren und dann auch im Skript den Aufruf zu ändern.

OT: Der MailService der von FirstSpirit bereitgestellt wir, reicht für Ihren Anwendungsfall nicht aus?

0 Kudos

Auf einem anderen System mit der Version 4.2.219.38784 funktioniert der Aufruf wie von mir gepostet. Wie ich in meinem ersten Beitrag bereits geschrieben habe, hat die Lösung von Christoph bei mir leider nicht funktioniert... Smiley Sad

0 Kudos
gockel
Crownpeak employee

Das kann durchaus sein, dass in älteren Versionen die "scope" Auswertung fehlerhaft war. Eine modullokaldefinierte Library (scope="module") kann aus einem globalen Kontext heraus (in ihrem Fall Aufruf eines Executable aus Workflow-Skript) NICHT angesprochen werden. Das ist erwartungskonform, dass das nicht funktioniert.

Den Hinweis, dass das nicht funktioniert, hatte ich gesehen. Das muss aber funktionieren, weshalb ich Sie bitten würde, das noch einmal zu konfigurieren und die Konfiguration und den dabei auftretenden Fehler zu posten.

0 Kudos