Hallo zusammen,
ich versuche momentan eine eigene Eingabe Komponente im WebEdit zum laufen zu bringen.
Ich habe mir hierzu die bestehende Implementation der normlen Combobox angeschaut, hier wird eine zweite Factory in der module.xml eingehängt die für WebEdit (ServerGadgetFactory) verwendet wird.
Leider erhalte ich eine java.lang.NoClassDefFoundError: de/espirit/firstspirit/webedit/server/gadgets/GwtServerGadgetFactory für das Interface das die create Methode implementiert.
Die Jar (fs-webedit.jar) die diese Klasse beinhaltet liegt aber im WebEdit Context des Projekts.
FS Version: 5.0.425.60000
Java Version: 1.7.0_51
Factory für WebEdit:
public class TestComboboxServerGadgetFactory
implements GwtServerGadgetFactory<TestGomCombobox, ComboboxConfiguration>
{
/* (non-Javadoc)
* @see de.espirit.firstspirit.webedit.server.gadgets.GwtServerGadgetFactory#create(de.espirit.firstspirit.module.GadgetContext)
*/
public GwtServerGadget<ComboboxConfiguration> create(GadgetContext<TestGomCombobox> context)
{
return new TestComboboxServerGadget(context);
}
}
Fehler aus der Server Log:
WARN 10.02.2014 22:02:50.985 (/fs5webedit_11): Exception while dispatching incoming RPC call
FSVersion=5.0.425.60000#3442;JDK=1.7.0_51 64bit Oracle Corporation;OS=Linux 2.6.32-279.el6.x86_64 amd64;Date=10.02.2014 22:02:50
- com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract de.espirit.firstspirit.webedit.client.forms.FormSessionDTO de.espirit.firstspirit.webedit.client.forms.StoreElementFormService.loadForm(de.espirit.firstspirit.webedit.client.store.FSID,de.espirit.firstspirit.webedit.client.io.EditorNodeWrapper,java.lang.String) throws de.espirit.firstspirit.webedit.client.store.PermissionException,de.espirit.firstspirit.webedit.client.util.ServiceFailedException' threw an unexpected exception: java.lang.NoClassDefFoundError: de/espirit/firstspirit/webedit/server/gadgets/GwtServerGadgetFactory
at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:385)
at de.espirit.firstspirit.webedit.server.control.PollSupportingWebeditService.logAndEncodeThrowable(PollSupportingWebeditService.java:141)
at de.espirit.firstspirit.webedit.server.control.PollSupportingWebeditService.processCall(PollSupportingWebeditService.java:102)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at de.espirit.firstspirit.webedit.server.WebeditService.service(WebeditService.java:77)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:598)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1367)
at de.espirit.firstspirit.io.servlet.WebAuthentication.doChain(WebAuthentication.java:672)
at de.espirit.firstspirit.webedit.server.ServiceAuthentication.doChain(ServiceAuthentication.java:27)
at de.espirit.firstspirit.io.servlet.WebAuthentication.doFilter(WebAuthentication.java:535)
at de.espirit.firstspirit.io.servlet.WebAuthentication.doFilter(WebAuthentication.java:151)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1338)
at de.espirit.firstspirit.webedit.server.BrowserCachingFilter.doFilter(BrowserCachingFilter.java:33)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1338)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:484)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)
at de.espirit.firstspirit.server.jetty.JettyManagerImpl$FailSafeWebAppContext.doHandle(JettyManagerImpl.java:839)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
at org.eclipse.jetty.server.Server.handle(Server.java:350)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:900)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:954)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:851)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:606)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.NoClassDefFoundError: de/espirit/firstspirit/webedit/server/gadgets/GwtServerGadgetFactory
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at de.espirit.firstspirit.server.module.ExtendedUrlClassLoader.findClass(ExtendedUrlClassLoader.java:90)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at de.espirit.firstspirit.server.module.MutableClassLoader.findClass(MutableClassLoader.java:129)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:412)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at de.espirit.firstspirit.server.module.MutableClassLoader.loadClass(MutableClassLoader.java:121)
at de.espirit.firstspirit.module.GadgetSpecification.getGadgetFactory(GadgetSpecification.java:108)
at de.espirit.firstspirit.webedit.server.gadgets.GwtServerGadgets.create(GwtServerGadgets.java:115)
at de.espirit.firstspirit.webedit.server.gadgets.ValueSerializingGwtServerGadgetMediator.<init>(ValueSerializingGwtServerGadgetMediator.java:114)
at de.espirit.firstspirit.webedit.server.gadgets.ValueSerializingGwtServerGadgetMediator._create(ValueSerializingGwtServerGadgetMediator.java:144)
at de.espirit.firstspirit.webedit.server.gadgets.ValueSerializingGwtServerGadgetMediator.create(ValueSerializingGwtServerGadgetMediator.java:137)
at de.espirit.firstspirit.webedit.server.gadgets.GwtServerGadgetMediatorFactory.create(GwtServerGadgetMediatorFactory.java:27)
at de.espirit.firstspirit.webedit.server.gadgets.AggregatingGwtServerGadgetMediator.getMediators(AggregatingGwtServerGadgetMediator.java:165)
at de.espirit.firstspirit.webedit.server.gadgets.AggregatingGwtServerGadgetMediator.load(AggregatingGwtServerGadgetMediator.java:113)
at de.espirit.firstspirit.webedit.server.gadgets.GwtFormControl.load(GwtFormControl.java:54)
at de.espirit.firstspirit.webedit.server.forms.FormSessionManager.loadSession(FormSessionManager.java:218)
at de.espirit.firstspirit.webedit.server.forms.StoreElementFormServiceImpl.loadForm(StoreElementFormServiceImpl.java:113)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at de.espirit.firstspirit.webedit.server.control.PollSupportingWebeditService$RPCInvoke.call(PollSupportingWebeditService.java:183)
at de.espirit.firstspirit.webedit.server.control.PollSupportingWebeditService$ServiceCallPollFeedWrapper.call(PollSupportingWebeditService.java:296)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
... 1 more
Caused by: java.lang.ClassNotFoundException: de.espirit.firstspirit.webedit.server.gadgets.GwtServerGadgetFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at de.espirit.firstspirit.server.module.ExtendedUrlClassLoader.findClass(ExtendedUrlClassLoader.java:90)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 38 more
Grüße und Danke für eure Hilfe oder Hinweise
Martin