title: vaadin - Failed to load application class
body: <p>I am getting javax.servlet.ServletException: Failed to load application class: com.example.App
  when i try to run it on local Tomcat 7 application server.</p>
  
  <p>This is stacktrace :  (full)   </p>
  
  <pre><code>javax.servlet.ServletException: Failed to load application class: com.example.App
      com.vaadin.terminal.gwt.server.ApplicationServlet.init(ApplicationServlet.java:71)
      org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
      org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
      org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
      org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
      org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001)
      org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
      org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
      java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
      java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
      java.lang.Thread.run(Thread.java:722)
  </code></pre>
  
  <p>This is my web.xml: </p>
  
  <pre><code>    &lt;?xml version="1.0" encoding="UTF-8"?&gt;
      &lt;web-app  xmlns="http://java.sun.com/xml/ns/j2ee"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
          http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
          version="2.4"&gt;
      &lt;servlet&gt;
          &lt;servlet-name&gt;ApplicationServlet&lt;/servlet-name&gt;
          &lt;servlet-class&gt;com.vaadin.terminal.gwt.server.ApplicationServlet&lt;/servlet-class&gt;
          &lt;init-param&gt;
              &lt;param-name&gt;application&lt;/param-name&gt;
              &lt;param-value&gt;com.example.App&lt;/param-value&gt;
          &lt;/init-param&gt;
      &lt;/servlet&gt;
      &lt;servlet-mapping&gt;
          &lt;servlet-name&gt;ApplicationServlet&lt;/servlet-name&gt;
          &lt;url-pattern&gt;/*&lt;/url-pattern&gt;
      &lt;/servlet-mapping&gt;
  
  &lt;/web-app&gt;
  </code></pre>
  
  <p>App.class is in WEB-INF/classes/com/example/ : </p>
  
  <pre><code>package com.example;
  
  import com.vaadin.Application;
  import com.vaadin.ui.Label;
  import com.vaadin.ui.Window;
  
  public class App extends Application {
  
      @Override
      public void init() {
          Window main = new Window("Hello");
          setMainWindow(main);
          main.addComponent(new Label("Hello, world!"));
  
      }
  }
  </code></pre>
  
  <p>What have I done wrong? </p>
  
  <p>Can you give me any manual for step-by-step deployment? </p>
  
  <p>P.S. updated. </p>