通過eclipse啟動tomcat設置JAVA_OPTS失敗的解決方案


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



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM