与使用IDE相比,使用jar文件运行时Spring Boot的行为有所不同

时间:2018-07-09 06:28:34

标签: java spring spring-boot jar kotlin

我使用start.spring.io创建一个简单的spring boot应用程序,它只有一个依赖项:Web服务(Gradle,springBoot:2.0.3,Kotlin)。然后我将以下文件添加为控制器。

@Controller
public class WelcomeController {
    private static final String welcomemsg = "Welcome Mr. %s!";

    @GetMapping("/welcome/user")
    @ResponseBody
    public Welcome welcomeUser(@RequestParam(name = "name", required = false, defaultValue = "Java Fan") String name) {
        return new Welcome(String.format(welcomemsg, name));
    }
}

,然后在IntelliJ中运行主类,一切正常。我可以访问localhost:8080/welcome/user?name=X

当我运行bootJar时,它会给我一个build/libs目录下的可执行jar文件。当我运行它时,Spring Boot应用程序启动时没有错误,但是我无法访问/welcome/user/并且返回404错误。这些步骤有什么问题?

我注意到以下日志在IDE中运行时存在,但在运行Jar文件时不存在。

  

2018-07-09 11:13:53.873信息22042 --- [main] swsmmaRequestMappingHandlerMapping:将“ {[/ welcome / user],methods = [GET]}”映射到公共ir.hosseinnasr.sarbazi.Welcome ir.hosseinnasr.sarbazi.WelcomeController.welcomeUser(java.lang.String)

当我查看jar时,文件结构看起来不错,它包含我的控制器类。

0 个答案:

没有答案