java - 在 Tomcat 上部署 Spring Boot + WebSocket + Stomp

标签 java tomcat spring-boot websocket stomp

我在为 Tomcat 服务器部署 Spring Boot + WebSocket + Stomp 教程时遇到了一些问题

我正在使用 gradle 来创建具有以下依赖项的 war

"build.gradle"

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.5.6.RELEASE")
    }
}

apply plugin: 'idea'
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'org.springframework.boot'

sourceCompatibility = 1.8
targetCompatibility = 1.8

repositories {
     mavenCentral()
}

dependencies {
compile group: 'org.springframework.boot', name: 'spring-boot-starter-tomcat', version: '1.5.6.RELEASE'

compile("org.springframework.boot:spring-boot-starter-websocket")

compile("org.webjars:webjars-locator")
compile("org.webjars:sockjs-client:1.0.2")
compile("org.webjars:stomp-websocket:2.3.3")
compile("org.webjars:bootstrap:3.3.7")
compile("org.webjars:jquery:3.1.0")

testCompile("org.springframework.boot:spring-boot-starter-test")
}

基本上我只添加了 spring-boot-starter-tomcat 依赖和 war 和 idea 插件。

代码在这里可用 https://spring.io/guides/gs/messaging-stomp-websocket/

部署后,当我尝试访问 http://localhost:8080/complete/ 时我收到以下错误

“无法加载资源:服务器响应状态为 404(未找到)”

我该怎么做才能使这项工作成功?

谢谢

最佳答案

首先,确保使用正确的上下文路径部署 WAR。 您提到的示例代码假设您将代码部署到根路径 - http://localhost:8080

您可以从您的代码中设置上下文路径。看这个answer .

如果上下文的一切都是正确的,您应该查看服务器日志以查找可能阻止部署的错误。

关于java - 在 Tomcat 上部署 Spring Boot + WebSocket + Stomp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45532981/

相关文章:

java - XMLHttpRequest跨域资源共享(qooxdoo和tomcat)

java - 手动添加 spring-boot-starter-thymeleaf

java - 在重叠时,玩家卡住了 libgdx 矩形

java - `@Autowire` 正在工作,即使 <context :annotation-config/>, 没有注释替换

tomcat - Grails项目BuildConfig.groovy Tomcat插件版本?

mysql - 无法将 spring-boot 2 服务连接到不同容器中的 mysql

java - Spring 启动/JavaFX : adding a shutdown hook (ctrl-c) that still has access to JPA

java - 如何在运行时调用方法时忽略修饰符 - JAVA

java - 在 Java 9 模块中找不到 Derby 驱动程序

java - 修改WEB-INF文件夹下的文件-tomcat作为热部署