Vaadin 8 (8.1.5) - Push error running on Tomcat 7 (7.0.82)

I am trying to use Vaadin Push, but when I just add the needed configuration in web.xml or by the @Push annotation, the server started throwing the error above:

Jan 17, 2018 10:06:08 AM org.apache.catalina.core.StandardWrapperValve invokeSEVERE: Servlet.service() for servlet [SurabayaUIServlet]
 in context with path threw exception [Servlet execution threw an exception]
 with root cause java.lang.ClassNotFoundException: org.apache.coyote.http11.upgrade.UpgradeInbound
       at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
       at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
       at org.atmosphere.container.Tomcat7AsyncSupportWithWebSocket.service(Tomcat7AsyncSupportWithWebSocket.java:58)
       at org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:2284)
       at com.vaadin.server.communication.PushRequestHandler.handleRequest(PushRequestHandler.java:244)
       at com.vaadin.server.communication.PushRequestHandler.handleSessionExpired(PushRequestHandler.java:278)
       at com.vaadin.server.VaadinService.handleSessionExpired(VaadinService.java:1672)
       at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1578)
       at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:381)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
       at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
       at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
       at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
       at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115)
       at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
       at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
       at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
       at java.lang.Thread.run(Thread.java:745)

Follow the servlet configuration:

<servlet>   
<servlet-name>UIServlet</servlet-name>   
<servlet-class>com.wro.vaadinapp.v2.UIServlet</servlet-class>   
<init-param>     
     <param-name>UI</param-name> 
     <param-value>com.wro.vaadinapp.v2.MyUI</param-value>   
</init-param>   
<init-param>
      <param-name>org.atmosphere.cpr.asyncSupport</param-name>
      <param-value>org.atmosphere.container.Tomcat7AsyncSupportWithWebSocket</param-value>   
</init-param>   
<init-param>
      <param-name>widgetset</param-name>
      <param-value>AppWidgetset</param-value>   
</init-param>   
<init-param> 
     <param-name>pushmode</param-name>
      <param-value>automatic</param-value>   
</init-param>   
<async-supported>true</async-supported> 
</servlet>

and my pom.xml dependencies:

 
<dependency>
    <groupId>javax.el</groupId>
    <artifactId>javax.el-api</artifactId>
    <version>3.0.1-b04</version>
</dependency>        
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>5.2.4.Final</version>
</dependency>          
<dependency>
    <groupId>org.atmosphere</groupId> 
    <artifactId>atmosphere-compat-tomcat7</artifactId>                                                    
    <version>2.0.1</version>          
</dependency>           
<dependency>
    <groupId>com.vaadin</groupId>
    <artifactId>vaadin-server</artifactId>
    <version>${vaadin.version}</version>           
</dependency>           
<dependency>
    <groupId>com.vaadin</groupId>
    <artifactId>vaadin-push</artifactId>
    <version>${vaadin.version}</version>           
</dependency>          
<dependency>
    <groupId>com.vaadin</groupId>
    <artifactId>vaadin-themes</artifactId>
    <version>${vaadin.version}</version>        
</dependency>