无法启动 tomcat6:Java 错误(线程“main”中出现异常)

无法启动 tomcat6:Java 错误(线程“main”中出现异常)

在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。

相关内容