首页
学习
活动
专区
圈层
工具
发布

问版本
EN

Stack Overflow用户
提问于 2015-09-09 18:58:47
回答 1查看 5.5K关注 0票数 3

我试图在Tomcat 7上运行一个Spring应用程序,据我所知,它应该与Servlet3.0规范兼容。

在我的受抚养人中,我按规定标记tomcat:

代码语言:javascript
复制
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope> <!-- Mark as provided so it doesn't interfere when we deploy in container -->
</dependency>

编辑:我添加了属性<tomcat.version>7.0.59</tomcat.version>

但我还是不能从猫身上开始。我得到了一个错误:

原因: javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String;:java.lang.NoSuchMethodError 在org.apache.tomcat.websocket.server.WsServerContainer.(WsServerContainer.java:147) 在org.apache.tomcat.websocket.server.WsSci.init(WsSci.java:131) 在org.apache.tomcat.websocket.server.WsSci.onStartup(WsSci.java:47)

这是因为它显然需要servlet规范3.1。

我是不是遗漏了什么?

EN

回答 1

Stack Overflow用户

发布于 2015-09-09 19:54:41

问题是,spring-boot还配置了spring启动器-tomcat上的websocket支持,该支持由spring starter提供。根据Apache,如果您想要使用Tomcat 7的web套接字,就必须使用Java 7。

要么用Java 7编译,要么排除websocket支持

代码语言:javascript
复制
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-websocket</artifactId>
        </exclusion>
    </exclusions>
</dependency>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32487263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档