I have a Vaadin project and I'm trying to create two UIs I have 2 classes. First:
ConfirmUI.java
@Theme("dm")
@SuppressWarnings("serial")
public class ConfirmUI extends UI{
private static final long serialVersionUID = 8015006014121297134L;
@WebServlet(value = {"/confirm/*", "/VAADIN/*"}, asyncSupported = true)
// @WebServlet(value = {"/dm/*", "/VAADIN/*"}, asyncSupported = true)
@VaadinServletConfiguration(productionMode = false, ui = ConfirmUI.class, widgetset = "m4team.dm.widgetset.DmWidgetset")
public static class Servlet extends VaadinServlet {
private static final long serialVersionUID = 5269739354418135390L;
}
@Override
protected void init(VaadinRequest request) {
Page.getCurrent().setTitle("DM | Register");
}
}
And second:
DmUI.java
@Theme("dm")
@JavaScript("http://www.google.com/recaptcha/api/js/recaptcha_ajax.js")
public class DmUI extends UI {
// @WebServlet(value = "/*", asyncSupported = true)
@WebServlet(value = {"/dm/*", "/VAADIN/*"}, asyncSupported = true)
@VaadinServletConfiguration(productionMode = false, ui = DmUI.class, widgetset = "m4team.dm.widgetset.DmWidgetset")
public static class Servlet extends VaadinServlet {
}
@Override
protected void init(final VaadinRequest request) {
Page.getCurrent().setTitle("DM");
@Override
public void afterViewChange(ViewChangeEvent event) {
// TODO Auto-generated method stub
}
});
}
}
It works when they are separately run (when one of them is commented out). But when I have both uncommented and try run them in Tomcat 7, I get an error like this:
Server Tomcat v7.0 Server at localhost failed to start.
and:
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/DM]]
at java.uti
l.concurrent.FutureTask$Sync.innerGet(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/DM]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
... 7 more
Caused by: java.lang.IllegalArgumentException: The servlets named [m4team.dm.ui.view.ConfirmUI$Servlet] and [m4team.dm.ui.view.DmUI$Servlet] are both mapped to the url-pattern [/VAADIN/*] which is not permitted
at org.apache.catalina.deploy.WebXml.addServletMapping(WebXml.java:335)
at org.apache.catalina.startup.ContextConfig.processAnnotationWebServlet(ContextConfig.java:2466)
at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2148)
at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2109)
at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2102)
at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2102)
at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2102)
at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2102)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1293)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:376)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5322)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 7 more
so i think the problem might be here:
Caused by: java.lang.IllegalArgumentException: The servlets named [m4team.dm.ui.view.ConfirmUI$Servlet] and [m4team.dm.ui.view.DmUI$Servlet] are both mapped to the url-pattern [/VAADIN/*] which is not permitted
Does anybody have any solutions?
The problem is similar to this 16270619 but i dont have web.xml