我正在尝试使用spring boot 2.0.6和Java 8将一个spring boot应用程序部署到Ubuntu 18服务器上的Tomcat 8和Windows xampp上的tomcat 7中。我了解到更好的方法是创建一个war文件,把它放在webapps文件夹中,然后启动服务器。我会像这样使用tomcat的管理器应用程序进行尝试。
为了配置 tomcat 服务器,我遵循了 Ubuntu 中 tomcat 8 的本指南。
在这两种情况下,我都会得到相同的结果,我可以在上传后在服务器上启动我的应用程序,但如果我尝试在浏览器中写入路径或单击tomcat的管理器应用程序中的路径来访问它,但浏览器每次都会显示404错误。错误显示:所需资源不可用。
昨天我尝试下载一个示例 war 并上传它,它工作正常。所以我想错误在于我制造战争的形式。
作为IDE,我正在使用Spring工具套装3。为了制造一场战争,我遵循了以下步骤:
>
添加下一个依赖项:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
右键单击项目
过了一会儿,战争就爆发了。我现在不知道它是否正确,但这是我唯一知道的。你能帮我吗?
这是指向存储库的链接,其中包含我尝试部署的配置的示例代码:https://bitbucket.org/josealvarezvivar/samplespring/src/master/
提前感谢。
嗨,如果你使用的是Spring Boot 2,你需要从webflux依赖关系中排除netty react server,如下所示。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-reactor-netty</artifactId>
</exclusion>
</exclusions>
</dependency>
使用 maven 创建您的 WAR 文件,您应该没问题。
你需要打包你的html页面与战争,如果它不在src/main/资源这可能会有所帮助