我在为Tomcat服务器部署Spring guides中提供的Spring Boot+WebSocket+Stomp教程时遇到了一些麻烦
我正在使用gradle创建战争,其中我有以下依赖
"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
您可以从代码中设置上下文路径。看这个答案。
如果上下文的所有内容都是正确的,您应该查看服务器日志,查找可能阻止部署的错误。
我在springboot应用程序中有筛选器。在embedded tomcate 9.0.34中运行该应用程序时,它可以正常工作。然而,当我创建war并将其部署在外部Tomcate8.5上时,它会抛出以下错误。
完成干净的构建后,我将war文件复制到Tomcat的文件夹中。但是部署会发生两次,并且在上下文已经存在的情况下以异常结束。我错过了什么? 非常感谢您的帮助。
当我试图在heroku上部署springboot应用程序时,出现了以下错误: 无法执行目标org.apache.Maven.plugins:maven-compiler-plugin:3.8.1:在项目后端编译(default-compile):错误编译:无效的目标版本:11->[Help 1]Remote:[error]Remote:[error]要查看错误的全部堆栈跟踪,请使用-e开关重新运行
我阅读并关注了BallusC的以下帖子,但仍然困惑:如何在Tomcat上安装和使用CDI? 尝试安装焊缝2.2.9.最终和配置如上所述。我正在使用以下内容: JSF 2.2、EL 2.2、Servlet3、Java7 还有什么可能导致这个错误?