Hello,
My app runs fine in Jetty when I test it in Eclipse, but for some reason when I move it to my Tomcat development server, I get a vaadin is not defined
error in the browser, and I get the following exception:
[2019-06-16 16:55:18 EDT]
SEVERE org.apache.catalina.core.ApplicationContext log StandardWrapper.Throwable
java.lang.IllegalArgumentException: A fallback resolver for the type class com.vaadin.server.VaadinService is already defined.
at com.vaadin.util.CurrentInstance.defineFallbackResolver(CurrentInstance.java:180)
at com.vaadin.mpr.core.AbstractMprServlet.defineFallbackResolver(AbstractMprServlet.java:76)
at com.vaadin.mpr.core.AbstractMprServlet.init(AbstractMprServlet.java:56)
at javax.servlet.GenericServlet.init(GenericServlet.java:158)
at com.vaadin.server.VaadinServlet.init(VaadinServlet.java:202)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:773)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
[2019-06-16 16:55:18 EDT]
SEVERE org.apache.catalina.core.StandardWrapperValve invoke Allocate exception for servlet [com.vaadin.mpr.MprServlet]
java.lang.IllegalArgumentException: A fallback resolver for the type class com.vaadin.server.VaadinService is already defined.
at com.vaadin.util.CurrentInstance.defineFallbackResolver(CurrentInstance.java:180)
at com.vaadin.mpr.core.AbstractMprServlet.defineFallbackResolver(AbstractMprServlet.java:76)
at com.vaadin.mpr.core.AbstractMprServlet.init(AbstractMprServlet.java:56)
at javax.servlet.GenericServlet.init(GenericServlet.java:158)
at com.vaadin.server.VaadinServlet.init(VaadinServlet.java:202)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:773)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Any ideas?
Here is a screen shot of the browser error:
![Browser Error]
(https://i.postimg.cc/PJLSj7Qq/MPRBrowser-Error.png)
I am currently setting up my PC to let me debug in Tomcat, to see if that reveals anything.
Update: I tried with eclipse and using tomcat 8.5 instead of jetty to debug, and that worked fine. Recompiled and tried again, but with same results. Both machines use tomcat 8.5. Debugging it via tomcat in Eclipse did reveal other problems, just not this problem. With the problem above, I cannot even get to the login page, but with Eclipse I can get to the login page. Obviously, the two tomcats are configured differently. My server tomcat is running an old version of my website ( pure Vaadin 7 ), and demo Vaadin 13 app a consultant wrote for us, and then my MPR app ( which gets this error ). Tell me what other information would help.