tomcat使用遇到的问题汇总
在公司做項目過程中都是在Linux環境下用tomcat下運行應用,所以使用tomcat過程也出現過很多問題,匯總總結一下:
1.在tomcat的webapps目錄下部署好應用包之后啟動報錯:
java.lang.OutOfMemoryError: PermGen space?
查找原因:
PermGen space的全稱是Permanent Generation space,是指內存的永久保存區域,這塊內存主要是被JVM存放Class和Meta信息的,Class在被Loader時就會被放到PermGen space中,它和存放類實例(Instance)的Heap區域不同,GC(Garbage Collection)不會在主程序運行期對PermGen space進行清理,所以如果你的應用中有很CLASS的話,就很可能出現PermGen space錯誤,這種錯誤常見在web服務器對JSP進行pre compile的時候。如果你的WEB APP下都用了大量的第三方jar, 其大小超過了jvm默認的大小(4M)那么就會產生此錯誤信息了。
解決方法:
手動設置MaxPermSize大小?
修改TOMCAT_HOME/bin/catalina.bat(Linux下為catalina.sh),在Java代碼“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:
set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=128M -XX:MaxPermSize=512m
“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:
set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=128M -XX:MaxPermSize=512m
catalina.sh下為:
Java代碼
JAVA_OPTS="$JAVA_OPTS -server -XX:PermSize=128M -XX:MaxPermSize=512m"
JAVA_OPTS="$JAVA_OPTS -server -XX:PermSize=128M -XX:MaxPermSize=512m"
2.Cannot find any VM in Java Home
這是賦予可執行權限,一些配置還是未更新;
?
3.The BASEDIR environment variable is not defined correctly
?This environment variable is needed to run this program
查找原因:由于bin目錄下的所有文件都沒有執行權限 解決方法:賦權限:chmod 777 -R bin/ 即可 4.net.rubyeye.xmemcached.exception.MemcachedException: There is no available connection at this moment 查找原因:沒有可用的連接 5. 解決方法:安裝的JDK與Eclipse的位不一致,要是32位就都是32位,64位也要一致 6.Caused by: java.io.IOException: Illegal character in hostname at index 13: tcp://OWLinux_4.0:61616查找原因:部署應用的服務器的主機名即hostname要是合法的URL,例如,主機名中不能有帶下劃線的字符標識等。
解決方法:主機名在/etc/hosts里修改為合法的URL
?
待后續增加總結。∧_∧
?
轉載于:https://www.cnblogs.com/echo-test/p/5145994.html
總結
以上是生活随笔為你收集整理的tomcat使用遇到的问题汇总的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 四大组件 与 MVC 架
- 下一篇: windos dos命令