springboot jar包部署如何不占用过多的服务器内存

springboot部署方案有很多,可以将其打成war部署到tomcat,也可以直接jar部署(利用内嵌的tomcat),还可以使用docker部署等。

今天主要说的是springboot jar包部署占用内存确实有些大,该怎么调整呢?其实很简单,核心代码如下:

1
nohup java -Xms64m -Xmx128m -jar blog-gateway-2.0.0.jar  > blog-gateway.log 2>&1 &

最关键的是-Xms64m -Xmx128m,与JVM有关。

关于JVM内存设置可以参考如下链接:
https://www.cnblogs.com/jack204/archive/2012/07/02/2572932.html

org.springframework.context.ApplicationContextException: Unable to start web server; nested exceptio

详细错误信息:

1
org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.context.ApplicationContextException: Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean.

常规解决办法:
参考如下链接即可:
org.springframework.context.ApplicationContextException: Unable to start web server; nested exceptio

但是也分情况。比分我这次遇到是关于不同Maven多模块相互依赖关系导致此类错误,理解Maven多模块之间的依赖关系即可解决。

由此可以看出Maven多模块一定得设计好以及依赖关系一定要明确,否则项目启动报错、打包报错等各种奇葩错误弄得你怀疑人生。

不过兵来将挡,水来土淹。经过这几年得错误洗礼,面对错误,我也不再像过去烦躁或胆怯,因为我知道烦躁和胆怯是解决不了问题的。面对错误,就是要直接面对它,然后解决它。我提供我的通用思路: