Eclipse JEE中 Server Options追踪
默认的配置如下:
这个默认配置存在一个问题,每次保存JSP时tomcat会自动重启,this is quite annoying..解决办法是
Ctrl+Shift+R,找到server.xml
将reloadable="true"改为false,这样保存JSP时Tomcat不会自动重启
接下来看看图中几个参数的含义:
(1)serve modules without publishing: 让tomcat直接使用WebContent下的东西 省去publish到<workspace>\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps 勾上它会将tmp0\wtpwebapps下相关的resources删除, 同时会修改Servers/Tomcat v6.0 Server at localhost-config/servers.xml中的serveModulesWithoutPublish=true 以及tmp0/conf/server.xml中的<Context>配置
(2)publish module contexts to separate XML files
勾选 上后会修改Servers/Tomcat v6.0 Server at localhost-config/servers.xml中的saveSeparateContextFiles=true
同时将tmp0/conf/server.xml中关于该app的<Context>元素
移动到tmp0/conf/Catalina/localhost/appName.xml中..
修改JSP后立即生效 在Servers视图中双击tomcat
勾选上Automatically publish when resources change
这样修改JSP后tomcat能热加载。。(这个选项对java文件无效,关了以后每次也能热加载)
通过eclipse启动tomcat设置JAVA_OPTS失败的解决方案
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,增加如上的参数即可。

浙公网安备 33010602011771号