为什么启动Tomcat就报错Could not find the main class??

其他环境都很正常 可以使用
为什么启动Tomcat就报错Could not find the main class ??
然后程序进入Debug调试模式 声明:没有任何断点

然后控制台打印出这样的信息

throw new ClassNotFoundException(name);

java.lang.NoClassDefFoundError: org/apache/catalina/startup/Bootstrap
Exception in thread "main"
你说的解决方法我早都试过了 还是不行
我把JDK、Eclipse和Tomcat全卸载掉重新装都不行啊
为什么 这到底是为什么?

你使用的JVM环境版本过低,就是你试图使用一个较低版本的JVM去运行一个较高版本的class文件,例如,你的JDK是1.4版本,Tomcat中执行的class文件是JDK5的。
出现Could not find the main class.program will exit和java.lang.UnsupportedClassVersionError 错误的原因,是因为我们使用高版本的JDK编译的Java class文件试图在较低版本的JVM上运行,所报的错误。
因为,高版本的JDK生成的class文件使用的格式,可能与低版本的JDK的.class文件格式不同。这样,低版本的JVM无法解释执行这个.class文件,会抛出Could not find the main class.program will exit,java.lang.UnsupportedClassVersionError不支持的Class版本错误。
这个错误尤其在JDK5与JDK5之前的版本上表现明显。因为,JDK5在Java语法上作了不少增强,引入了一些新的.class文件的元素,导致旧版本的JVM无法解释、执行.class文件。即使这个类并没有使用任何JDK5的新元素,但是JDK5生成的.class文件,JDK1.4及其以前的JVM都无法辨认!

在MyEclipse-->应用服务器下,指定Tomcat5。指定Tomcat使用jdk1.4。这样,就全部指定使用Jdk1.4来编译和运行程序了。如果全部指定jdk5也是可以的。但是,绝对不能够使用jdk5编译程序,而又在jdk1.4上运行程序,那样将会抛出java.lang.UnsupportedClassVersionError不支持的Class版本错误。
这种情况下,不论是Eclipse生成的war包,还是ant文件生成war包,都使用jdk5编译,就会在运行时出现错误,该应用程序将无法启动。如果你查看Tomcat的日志文件,将会看到正是java.lang.UnsupportedClassVersionError错误发生了!

其实无非就是版本问题,JDK版本的问题。

解决方法:在Eclipse窗口-->首选项-->Java-->编译器-->JDK一致性-->编辑器一致性级别,从5.0改到1.4就可以了。

如果没有安装Eclipse,那就卸载jdk 安装较低版本的jdk环境即可。
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-11-20
肯定是你打了断点才会出现的。
如果你用的是Eclipse。
点击Window 下的 show view 下的Breakpoints 看看里面有没有断点。
还有就是你配置Web服务器的时候,有一项叫:Launch 里面有两个服务器的启动模式,一种是:Debug mode 一种是:Run mode
你肯定是以Debug mode启动的。如果不想Debug的话,你可以用另外一种模式启动。
第2个回答  2008-11-20
单独启动tomcat吧,别用集成环境里面的启动tomcat
第3个回答  2008-11-20
楼主,有可能是环境变量配置错误导致找不到类,CLASSPATH,Path,JAVA_HOME,TOMCAT_HOME,全部有没有设置对
第4个回答  2008-11-20
上网找最新的下来安装,
相似回答