我正在尝试将具有Spring Boot 2.0.6和Java 8的Spring Boot应用程序部署到Ubuntu 18服务器上的Tomcat 8中以及Windows xampp上的tomcat 7中。我读到最好的方法是创建一个war文件,将其放在webapps文件夹中,然后启动服务器。我会这样尝试并使用tomcat的管理器应用程序。
对于配置tomcat服务器,我遵循了this指南,适用于Ubuntu中的tomcat 8。
在这两种方法中,我都得到相同的结果,我可以在上传应用程序后在服务器中启动我的应用程序,但是如果我尝试在浏览器中写路径或通过单击tomcat的管理器应用程序中的路径来访问它,则浏览器每次都会显示404错误。错误显示:所需的资源不可用。
昨天,我尝试下载示例战争并上传了它,它可以正常运行。所以我想错误是我发动战争的形式。
在IDE中,我正在使用Spring Tool Suit3。要进行战争,请按照以下步骤操作:
添加下一个依赖项:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
右键单击项目>“运行”>“ Maven build ...”
一段时间后,战争爆发了。我现在不知道这是否是正确的表格,但我唯一知道。你能帮我吗?
这是带有示例代码的存储库的链接,该示例代码具有我要部署的配置:https://bitbucket.org/josealvarezvivar/samplespring/src/master/
谢谢。
答案 0 :(得分:0)
如果战争不在src / main / resources中,则您需要将html页面与战争打包在一起 This could help
答案 1 :(得分:0)
嗨,如果您使用的是Spring Boot 2,则需要从如下所示的webflux依赖项中排除netty react服务器。
<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文件,您应该会很好。