tomcat - vaadin push 适用于 tomcat 7 但不适用于 tomcat 8

标签 tomcat intellij-idea websocket vaadin vaadin7

我为 tomcat 7 编写了一个 vaadin 项目,它可以在本地运行。将其迁移到 tomcat 8 后,我无法再启动该页面,因为我收到消息:

HTTP Status 500 - com.vaadin.server.ServiceException: java.lang.IllegalStateException: Push is not available. See previous log messages for more information.

第一个异常显示以下行:

java.lang.IllegalArgumentException: Unable to createclass org.atmosphere.container.JettyServlet30AsyncSupportWithWebSocket

我在我的 pom 文件中为两个 tomcat 版本使用了以下依赖项

<dependencies>
    <dependency>
        <groupId>org.java-websocket</groupId>
        <artifactId>Java-WebSocket</artifactId>
        <version>1.3.0</version>
    </dependency>
    <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-push</artifactId>
        <version>7.3.10</version>
    </dependency>
    <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-client</artifactId>
        <version>7.3.10</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

当我将现有项目的 tomcat 版本从 7 更改为 8 时,或者当我在 intellij 中创建新项目并将旧的 java 类和资源复制到新创建的项目时,这都没有用。

最佳答案

在我删除了 WEB-INF/lib 文件夹中所有以“jetty”开头的 jar 之后,问题就解决了。

关于tomcat - vaadin push 适用于 tomcat 7 但不适用于 tomcat 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28432849/

相关文章:

java - 添加 `@SpringBootTest` 注释会触发 IntelliJ 误报

intellij-idea - 临时文件图标上的时钟徽章在 IntelliJ 中意味着什么?

kotlin - 将自定义 header 设置为 websocket 请求 (ktor)

javascript - Python 套接字脚本 <-> HTML 客户端

java - Tomcat:自定义错误页面不工作

java - 如何修复内存泄漏问题在tomcat中发现内存泄漏的原因是什么

java - 在 apache tomcat 中部署应用程序时出错

java - Tomcat 未启动 > java.lang.ClassNotFoundException : org. apache.catalina.startup.Catalina

scala - 无法使用 IDEA 和 SBT 运行 LWJGL

java - 在 Websocket 上通过 Nginx 转发用户 IP