3

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

Community
  • 1
  • 1
m4koon
  • 31
  • 4

0 Answers0