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



通过eclipse启动tomcat设置JAVA_OPTS失败的解决方案的更多相关文章

  1. Eclipse 启动Tomcat 超时报错的解决方案

    在用eclipse开发项目  用tomcat发布项目的时候  会提示超时, Server Tomcat v7.0 Server at localhost was unable to start wit ...

  2. 解决Eclipse启动Tomcat时报Error loading WebappClassLoader错误

    最近新建了一个JSF项目(网上查到用Struts,Spring MVC也会如此),配置好以后用Eclipse启动Tomcat报了如下错误:严重: Error loading WebappClassLo ...

  3. Eclipse启动Tomcat报错,系统缺少本地apr库

    Eclipse启动Tomcat报错,系统缺少本地apr库. Tomcat中service.xml中的设置情况. 默认情况是HTTP协议的值:protocol="HTTP/1.1" ...

  4. eclipse启动tomcat 访问http://localhost:8080 报404错误

    eclipse启动tomcat 访问http://localhost:8080 报404错误 Server Locations修改后会变灰,如果需要更改设置,则需要移除与Tomcat服务器关联的项目, ...

  5. eclipse启动tomcat无法访问

    eclipse启动tomcat无法访问 症状: tomcat在eclipse里面能正常启动,而在浏览器中访问http://localhost:8080/不能访问,且报404错误.同时其他项目页面也不能 ...

  6. [转]Eclipse启动Tomcat时45秒超时解决方法

    原文地址:http://it.oyksoft.com/post/6577/ Eclipse启动Tomcat时,默认配置的启动超时时长为45秒.假若项目启动超过45秒将会报错.两种解决方法:1.改XML ...

  7. Springmvc+Hibernate在Eclipse启动Tomcat需要很长时间的解决方法

    最近在学习SpringMvc开发,有一个提问困扰了很久,就是在Eclipse启动Tomcat需要很长时间,大概要1分多钟. 启动日志: 九月 08, 2016 8:59:01 下午 org.apach ...

  8. Eclipse启动Tomcat时45秒超时的解决方法

    Eclipse启动Tomcat时,默认配置的启动超时时长为45秒.假若项目需要加载的东西比较多,启动时间会比较久,如果启动超过45秒将会报错.有两种解决途径,方法只有一个,就是修改启动时间. 1. 修 ...

  9. Eclipse启动tomcat时报错:Multiple Contexts have a path of "/xxx"

    今天使用Eclipse启动tomcat部署项目时,遇到一个奇怪的错误: Could not publish server configuration for Tomcat v6.0 Server at ...

随机推荐

  1. Java 实践

    /** *宠物就是一个标准,包含多类宠物 *定义宠物标准接口Pet *定义Cat和Dog两个Pet接口的子类 *使用链表结构动态存储宠物信息 *定义商店类(工厂类),负责宠物的上架(链表添加).下架( ...

  2. jmeter-集合点---学习笔记

    集合点: 简单来理解一下,虽然我们的“性能测试”理解为“多用户并发测试”,但真正的并发是不存在的,为了更真实的实现并发这感念,我们可以在需要压力的地方设置集合点,每到输入用户名和密码登录时,所有的虚拟 ...

  3. ST-LINK接口定义

    ST-LINKIII管脚定义及接法:     ST-LINK IIILED灯三种状态含义: 常亮:目标板与ST-LINK在SWIM模式或者JTAG/SWD模式下已经通讯初始化. 闪烁:目标板与ST-L ...

  4. bcc-tools安装

    1           一. 安装cmake cmake是一种跨平台的编译工具,安装过程如下: 下载源码包:https://cmake.org/files/v3.8/cmake-3.8.0.tar.g ...

  5. 性能测试工具LoadRunner13-LR之Virtual User Generator 创建java脚本以及小结

    Java vuser是自定义的java虚拟脚本,脚本中可以使用标准的java语言. 环境配置 1.安装jdk(注意:lr11最高支持1.6) 2.配置环境变量 3.在lr选择java Vuser协议 ...

  6. Transform控制的物体移动

    Transform控制的物体移动:public class TKMove : MonoBehaviour { public float HSpeed; public float VSpeed; pri ...

  7. intellijidea课程 intellijidea神器使用技巧 6-2 数据库关联

    待温习完Spring之后再来看 database关联和表名字段等智能提示

  8. (生产)create-keyframe-animation -动画实现

    参考:https://github.com/HenrikJoreteg/create-keyframe-animation 实例 var animations = require('create-ke ...

  9. (C#) 线程之 AutoResetEvent, EventHandle.

    AutoResetEvent 允许线程通过发信号互相通信.通常,此通信涉及线程需要独占访问的资源. 线程通过调用 AutoResetEvent 上的 WaitOne 来等待信号.如果 AutoRese ...

  10. 【起航计划 028】2015 起航计划 Android APIDemo的魔鬼步伐 27 App->Preferences->Launching preferences 其他activity获取Preference中的值

    前给例子介绍了如何使用PreferenceActivity 来显示修改应用偏好,用户对Preferences的修改自动存储在应用对应的Shared Preferences中. 本例介绍了如何从一个Ac ...