我使用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时,文件结构看起来不错,它包含我的控制器类。