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