有時候我們需要設定maven環境下的JVM參數,以便通過maven執行的命令或啟動的系統能得到它們需要的參數設定。比如:當我們使用jetty:run啟動jetty服務器時,在進行熱部署時會經常發生:Java.lang.OutOfMemoryError: PermGen space問題,這時我們需要增大JVM參數MaxPermSize的值。再者,當我們需要進行遠程調試時,也需要設置監聽端口。maven配置jvm參數的地方是%M2_HOME%/bin/mvn.bat文件,這是啟動Maven的腳本文件,在該文件中你能看到有一行注釋為:@REM set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000.通過添加set MAVEN_OPTS可以為maven設定jvm參數了。比如:
1.建立遠程調試,端口為:4000的設定為:
set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4000
注意:suspend最好設定為n.設定上述參數后,在eclipse中新建遠程調試,設置端口為4000,這樣通過jetty:run啟動系統時就可以進行遠程調試了。
2.解決自動熱部署時java.lang.OutOfMemoryError: PermGen space問題解決這一問題只需要增大PermGen區,默認為 64m,設置方法為:
set MAVEN_OPTS=-XX:MaxPermSize=128M
http://blog.csdn.net/bluishglc/article/details/6310071