Java 为什么spring boot应用程序在AWS中不起作用,但在本地却可以正常工作?

Java 为什么spring boot应用程序在AWS中不起作用,但在本地却可以正常工作?,java,amazon-web-services,spring-boot,amazon-elastic-beanstalk,Java,Amazon Web Services,Spring Boot,Amazon Elastic Beanstalk,我创建了一个简单的Hello World Spring引导应用程序,它在本地运行良好,但在AWS ElasticBeanstalk中部署时会出现404错误 HelloController.java @RestController @RequestMapping("/") public class HelloController { @GetMapping("hello") public String result() {

我创建了一个简单的Hello World Spring引导应用程序,它在本地运行良好,但在AWS ElasticBeanstalk中部署时会出现404错误

HelloController.java

@RestController
@RequestMapping("/")
public class HelloController {
    
    @GetMapping("hello")
    public String result() {
        return "Hello World";
    }

}
应用程序属性

server.port = 8080
spring.datasource.url=<RDS ENDPOINT>
spring.datasource.username=<username>
spring.datasource.password=<password>
server.port=8080
spring.datasource.url=
spring.datasource.username=
spring.datasource.password=
在EBS中,我创建了一个Tomcat环境,并在Tomcat环境中部署了这场战争


我做错了什么?

假设您的WAR文件名为
test.WAR
,那么正确的访问URL应该是:


端口应该是您的tomcat端口,如果您没有更改它,它应该是80,而不是在application.properties中设置的
服务器.port

假设您的WAR文件名为
test.WAR
,那么正确的访问URL应该是:


端口应该是您的tomcat端口,如果您没有更改,则为80,而不是应用程序.properties中设置的
服务器.port

您应该将aws中的端口更改为端口5000。

您应该将aws中的端口更改为端口5000。

@AnamikAdhikary很难说是什么导致了这个问题,这篇文章可能会有帮助:@AnamikAdhikary很难说是什么导致了这个问题,这篇文章可能会有帮助:在用
@SpringBootApplication
注释的类中,您是否也继承了
SpringBootServletInitializer
。这是允许Tomcat启动应用程序上下文所必需的。在用
@SpringBootApplication
注释的类中,您是否也从
SpringBootServletInitializer
继承。这是允许Tomcat启动应用程序上下文所必需的。