【问题标题】:Cannot run Vaadin project in Eclipse Juno with Tomcat 7: throws ClassNotFoundException无法使用 Tomcat 7 在 Eclipse Juno 中运行 Vaadin 项目:抛出 ClassNotFoundException
【发布时间】:2013-04-03 17:52:03
【问题描述】:

我创建了一个基本的 Vaadin 项目(根据它的模板,我什至没有编辑过代码)。我正在使用:

  • Vaadin 6.8.9
  • 雄猫 7
  • Eclipse 朱诺

Tomcat 抛出以下堆栈跟踪:

    HTTP Status 500 - Failed to load application class: com.example.addressbook.AddressbookApplication

    type Exception report

    message Failed to load application class: com.example.addressbook.AddressbookApplication

    description The server encountered an internal error that prevented it from fulfilling this request.

    exception

    javax.servlet.ServletException: Failed to load application class: com.example.addressbook.AddressbookApplication
        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:99)
        org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:947)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
        org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1009)
        org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
        org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
        java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        java.lang.Thread.run(Unknown Source)

我的 web.xml 文件内容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"        xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-       app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee        http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
      <display-name>AddressBook</display-name>
      <context-param>
        <description>Vaadin production mode</description>
        <param-name>productionMode</param-name>
        <param-value>false</param-value>
      </context-param>
      <servlet>
        <servlet-name>Addressbook Application</servlet-name>
        <servlet-class>com.vaadin.terminal.gwt.server.ApplicationServlet</servlet-class>
        <init-param>
            <description>
            Vaadin application class to start</description>
            <param-name>application</param-name>
            <param-value>com.example.addressbook.AddressbookApplication</param-value>
        </init-param>
      </servlet>
      <servlet-mapping>
        <servlet-name>Addressbook Application</servlet-name>
        <url-pattern>/*</url-pattern>
      </servlet-mapping>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
    </web-app>

我不知道问题是什么...任何建议都非常感谢。 谢谢。

【问题讨论】:

    标签: eclipse tomcat7 vaadin


    【解决方案1】:

    尝试将 servlet-class 标签更改为:

    <servlet-class>com.vaadin.server.VaadinServlet</servlet-class>
    

    【讨论】:

    • 不,这不起作用,现在抛出 2 个错误:实例化 servlet 类 com.vaadin.server.VaadinServlet 时出错,以及根本原因:找不到类:com.vaadin.server.VaadinServlet跨度>
    • 您是否已使用 ivyde 解决了书中 (vaadin.com/book) 中所示的依赖关系?如果是这样,您应该在视图 Properties -> Java Build Path -> Libraries 中看到一个可扩展的 ivy.xml 分支。展开它,看看它是否列出了 vaadin 罐子。如果没有,您的环境设置不正确。
    猜你喜欢
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-05
    相关资源
    最近更新 更多