我试图在Tomcat 7上运行一个Spring应用程序,据我所知,它应该与Servlet3.0规范兼容。
在我的受抚养人中,我按规定标记tomcat:
<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。
我是不是遗漏了什么?
发布于 2015-09-09 19:54:41
问题是,spring-boot还配置了spring启动器-tomcat上的websocket支持,该支持由spring starter提供。根据Apache,如果您想要使用Tomcat 7的web套接字,就必须使用Java 7。
要么用Java 7编译,要么排除websocket支持
<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>https://stackoverflow.com/questions/32487263
复制相似问题