解決JRebel部署啟動失敗的問題
使用Tomcat能夠成功部署,但是當嘗試使用JRebel進行部署時卻遇到問題,很可能是因為未設(shè)置PermSize參數(shù)。JRebel在部署時消耗的PermSize要比JRebel高許多,如果未專門設(shè)置可
使用Tomcat能夠成功部署,但是當嘗試使用JRebel進行部署時卻遇到問題,很可能是因為未設(shè)置PermSize參數(shù)。JRebel在部署時消耗的PermSize要比JRebel高許多,如果未專門設(shè)置可能導(dǎo)致內(nèi)存溢出而啟動失敗。
安裝JRebel插件并設(shè)置PermSize參數(shù)
以在IntelliJ IDEA中使用JRebel插件為例,其他IDE中的JRebel插件或獨立使用JRebel的解決方法原理相同。安裝好JRebel插件后,會出現(xiàn)兩個替代Tomcat啟動按鈕。若控制臺打印了一些日志但啟動的項目頁面無法打開,可能意味著啟動不成功。查看Tomcat服務(wù)器打印的日志,如果提示永久代內(nèi)存溢出,則需要調(diào)整PermSize的值。
調(diào)整Tomcat的PermSize數(shù)值
在Tomcat的設(shè)置中提高PermSize的值,例如將-XX:MaxPermSize1024m中的1024替換為其他數(shù)值,擴大PermSize即可。這個數(shù)值可以根據(jù)實際情況進行調(diào)整,但務(wù)必確保提高PermSize值。若你在其他地方使用JRebel,也需在相應(yīng)的設(shè)置JVM啟動參數(shù)的地方增加PermSize。
重新啟動項目并檢查內(nèi)存占用
完成上述設(shè)置后,再次嘗試啟動項目。使用JRebel啟動的項目占用的內(nèi)存應(yīng)該比僅使用Tomcat啟動時更大。通過擴大PermSize參數(shù),項目應(yīng)能成功啟動,避免因內(nèi)存溢出而導(dǎo)致的啟動失敗問題。