Hi there,
I’m right now trying to get the Addon “ContextMenu” to work with my maven vaadin project. After long and strenous trial and error and countless hours of googling I got my maven plugin to accept that the contextmenu addon was reachable online.
So after I added ContextMenu Version 4.2.1 to my project I thought I was finally set. But after implementing it and trying to start up the war it gives me a java.lang.NoSuchMethodError.
I did the following things:
private ContextMenu contextMenu;
private Table table = new Table();
//All kinds of other mumbo jumbo for the table
ContextMenuOpenedListener.TableListener tableOpenListener = new ContextMenuOpenedListener.TableListener() {
@Override
public void onContextMenuOpenFromRow(ContextMenuOpenedOnTableRowEvent event) {
// TODO Auto-generated method stub
}
@Override
public void onContextMenuOpenFromHeader(
ContextMenuOpenedOnTableHeaderEvent event) {
// TODO Auto-generated method stub
}
@Override
public void onContextMenuOpenFromFooter(
ContextMenuOpenedOnTableFooterEvent event) {
// TODO Auto-generated method stub
}
};
contextMenu = new ContextMenu();
contextMenu.setAsTableContextMenu(table);
contextMenu.addContextMenuTableListener(tableOpenListener);
My compiler found the import alright, for both the ContextMenu and the ContextMenuOpenedListener. But as soon as my server tries to acces either
contextMenu.setAsTableContextMenu(table);
contextMenu.addContextMenuTableListener(tableOpenListener);
it crashes with
HTTP ERROR 500
Problem accessing /. Reason:
java.lang.NoSuchMethodError: org.vaadin.peter.contextmenu.ContextMenu.setAsTableContextMenu(Lcom/vaadin/ui/Table;)V
Caused by:
com.vaadin.server.ServiceException: java.lang.NoSuchMethodError: org.vaadin.peter.contextmenu.ContextMenu.setAsTableContextMenu(Lcom/vaadin/ui/Table;)V
at com.vaadin.server.VaadinService.handleExceptionDuringRequest(VaadinService.java:1387)
at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1341)
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:648)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:559)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:232)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1072)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:382)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:194)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1006)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:365)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:485)
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:926)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:988)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:635)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:627)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:51)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
at java.lang.Thread.run(Thread.java:722)
Any clues on how to fix this? If you need more information just tell me so, I’ll happily provide.