ServletPortletHelper$ApplicationClassException with latest snaphot

I just downloaded the latest Vaadin 7.0-SNAPSHOT to get around issue described in Ticket #9175 (Label throws UnsupportedOperationException).
All I did was change my vaadin dependency version in the maven pom file from 7.0.0.alpha3 to 7.0-SNAPSHOT, which worked fine.
However when I run my application I get the error below. I am not sure where it is coming from since I dont use portlet. Is there any change in the beta version that would explain this error? how to fix it?
Thanks

com.vaadin.terminal.gwt.server.ServletPortletHelper$ApplicationClassException: UI init parameter not defined
at com.vaadin.terminal.gwt.server.ServletPortletHelper.verifyUIClass(ServletPortletHelper.java:72)
at com.vaadin.terminal.gwt.server.ServletPortletHelper.getApplicationClass(ServletPortletHelper.java:53)
at com.vaadin.terminal.gwt.server.ApplicationServlet.init(ApplicationServlet.java:59)
at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:471)
at org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:356)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:575)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1324)
at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:380)
at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1295)
at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:77)
at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:230)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1295)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:440)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1033)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:369)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:967)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
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:358)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:452)
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:884)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:938)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:622)
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:662)

I believe the Root class changed name to com.vaadin.ui.UI and so did the config parameter that used to be called root.

So use this in web.xml instead of root


<param-name>UI</param-name>
<param-value>com.foo.MyUISubClass</param-value>

ans also sub class UI instead of Root.

That does seem to be the case. Is there any public documentation on why this core element of 7 was renamed, and is it like to happen again?

The name has been discussed a lot since the beginning with numerous proposals floated around, each with their drawbacks. This should be the name as beta1 is just around the corner.

Information about such changes will be added to the
migration guide
when the beta is released.