springboot项目的启动部署
springboot不用部署tomcat,确实方便很多, 直接打个jar包, 写个脚本 执行
java -jar xxx.jar > log.out 2>&1 &
这就可以了。但是遇到点 小问题, 我在yml文件中怎么改port端口值 都没用, 依旧是默认的8080,同时logback文件中指定的日志输入位置 也没有日志文件生成。
最后发现是编译打包的问题, build应该这么写。
<build> <finalName>${project.artifactId}</finalName> <plugins> <plugin> <artifactId>spring-boot-maven-plugin</artifactId> <goals> <goal>repackage</goal> </goals> <groupId>org.springframework.boot</groupId> </plugin> </plugins> </build>
问题没有了,同时修改port可以在启动的时候加参数 java -jar xxx.jar --server.port=8081 ,这样写也是可以的
问题2:
不需要加载jdbc,
在springboot的入口文件中 这么写就不会加载jdbc
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class}) @Controller public class DemoSpringBootApplication { public static void main(String[] args) { SpringApplication.run(DemoSpringBootApplication.class, args); } }
问题3:
templates 目录下static 静态文件无法加载, html报错。需要配置一下,添加下面的配置文件。
@Component public class WebMvcConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/"); } }
上面的 static 就是静态文件的路径,也可以写其他路径
问题4:
springboot的默认主页面怎么弄?
@Controller @RequestMapping("/") public class IndexController { @RequestMapping("/Blog") public String index() { return "forward:index.html"; } }
或者
@Controller @RequestMapping("/") public class IndexController { @RequestMapping(value = {""}) public String index(Model model){ return "index"; } }