在CentOS 6.3上安装tomcat6后,无法启动tomcat6服务器。
root@host [/var/log/tomcat6]# service tomcat6 start
Starting tomcat6: [ OK ]
虽然它说OK
,我无法访问http://mydomain.com:8080
。
catalina.out
Exception in thread "main" java.lang.NullPointerException
at java.lang.VMClassLoader.defineClass(libgcj.so.10)
at java.lang.ClassLoader.defineClass(libgcj.so.10)
at java.security.SecureClassLoader.defineClass(libgcj.so.10)
at java.net.URLClassLoader.findClass(libgcj.so.10)
at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.10)
at java.lang.ClassLoader.loadClass(libgcj.so.10)
at java.lang.ClassLoader.loadClass(libgcj.so.10)
at gnu.java.lang.MainThread.run(libgcj.so.10)
Tomcat6 使用 yum 安装:
yum -y install java tomcat6 tomcat6-webapps tomcat6-admin-webapps
当我尝试查找版本时tomcat6 version
::
Exception in thread "main" java.lang.NoClassDefFoundError: org.apache.catalina.util.ServerInfo
at gnu.java.lang.MainThread.run(libgcj.so.10)
Caused by: java.lang.ClassNotFoundException: org.apache.catalina.util.ServerInfo not found in gnu.gcj.runtime.SystemClassLoader{urls=[], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
at java.net.URLClassLoader.findClass(libgcj.so.10)
at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.10)
at java.lang.ClassLoader.loadClass(libgcj.so.10)
at java.lang.ClassLoader.loadClass(libgcj.so.10)
at gnu.java.lang.MainThread.run(libgcj.so.10)
知道我该怎么做吗?谢谢!
答案1
根据堆栈跟踪行末尾的“libgcj.so”字符串,您似乎正在尝试使用 GNU Compiler for Java 运行 Tomcat。GCJ 不是功能齐全的 Java 运行时环境,很可能是问题的根源。如果您的系统上没有安装真正的 JRE 或 JDK,或者没有设置 JRE_HOME(或 JAVA_HOME)变量,则可能会发生这种情况。尝试安装真正的 JRE,如 OpenJDK 或 Sun/Oracle 的 JRE/JDK。