此前试过springboot使用外置文件启动springboot,打成jar后使用在同级jar的目录下放一个config然后指定启动,切换profile
的形式来实现多环境切换。
用过外置tomcat,我们觉得最香的地方当然都说自动解析静态文件内容,比如CSS,JS,img等等,那到底有没有办法让jar的springboot项目也加载一份外置的静态文件,方便各个环境部署的时候不用在ide里改呢?
经研究发现,可以使用,
java -jar -Dspring.resources.static-locations=/static/** 你的项目.jar
可满足完全主要使用json交互的方式运行程序,不得不说一句真香,而且是域名有限使用nginx代理的情况下,比如a.com/crm ,a.com/crm-test,然后不同的环境使用的server.servlet.context-path,比如生产就/crm,测试就/crm-test,命名风格基本一致,有点非常多,比如你前端的js编写一个接口项目前缀,这个时候就可以很优雅的修改,而不是打两次jar包,而且还要分jar到底哪个api是改了的,哪个是没改的,完全比肩外置tomcat。这对于部署是一件很舒服的事情,小伙伴们快get起来!!!
肯定有小伙伴想问那使用模版引擎之后是否可以呢,我尚未测试,不过我推测应该也是可以的,有兴趣的小伙伴可以尝试把外置的static改成temple试试