clipse中配置tomcat方法:
Window-->Preference-->Server-->Runtime Environment-->add-->Apache -->Apache TomcatV6.0...設置JRE,完成。
Servers view 中右鍵New-->Server,選擇Apache-->Tomcat V6.0 Server,完成!
通過eclipse中配置的tomcat6,發布項目,啟動時報內存溢出,需要重新設置tomcat的JVM參數。
常用的設置方法為:
修改%tomcat_home%/bin下catalina.bat(windows環境下)文件,在
echo Using CATALINA_BASE: "%CATALINA_BASE%"
上面新增
set JAVA_OPTS=%JAVA_OPTS% -Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxNewSize=256M -XX:MaxPermSize=512M -Droot.log.level=INFO -Dspring.log.level=WARN -Dsql.log.level=INFO -Dproject.log.level=INFO -Dmas.log.basedir=D:/opt/logs/mas/mas_log
解釋:
set JAVA_OPTS=%JAVA_OPTS% ... ---- JAVA_OPTS 追加參數
-Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxNewSize=256M -XX:MaxPermSize=512M -- VM參數設置
-Droot.log.level=INFO -Dspring.log.level=WARN -Dsql.log.level=INFO -Dproject.log.level=INFO -- log日志設置
-Dmas.log.basedir=D:/opt/logs/mas/mas_log -- 定義全局變量 mas.log.basedir = D:/opt/logs/mas/mas_log
該地方是為logback中定義日志存放地址
<fileNamePattern>${mas.log.basedir}/mas_batch.log.%d{yyyy-MM-dd}</fileNamePattern>
但是,配置好好如上參數后,啟動后仍然報內存溢出錯誤,通過Jconsole觀察,修改的參數沒有生效。
分析:
1. tomcat默認通過執行%tomcat_home%/bin/startup.bat完成tomcat啟動
2. 修改了tomcat的catalina.bat中JAVA_OPTS參數,沒有生效,說明通過eclipse啟動tomcat並未調用%tomcat_home%/bin/startup.bat
3. eclipse中,選擇菜單欄Run -> Run Configurations -> Apache Tomcat -> Tomcat V6.0 Server...
選擇Arguments標簽頁,會發現program arguments中參數為:start,說明eclipse是調用tomcat的main方法並傳遞start參數啟動tomcat的;
而Arguments標簽頁下面的VM arguments參數,啟動tomcat使用的是eclipse中我們自定的JRE
因此,需要修改eclipse中JRE的VM參數
windows->preference->java->instal jres->edit,增加如上的參數即可。
參考:
http://wallimn.iteye.com/blog/693158
