tomcat加载web项目报错:bad major version at offset=6

时间:2022-04-16 23:38:31

分析原因是开发的web项目的java版本高于tomcat使用的java版本,比如我是在java1.6上开发的,但是tomcat使用的java运行环境是1.5,所以会报改错误。

转载博客如下:http://www.coin163.com/it/5969750391153999189/tomcat

虚拟目录可以减少Tomcat启动时的负载,加快应用服务器的启动时间。便于项目目录管理。 
方法: 
1)、在Tomcat安装目录\conf\server.xml的末端的</Host>,在其上面一行添加如下代码: 
<Context path="/项目名" docBase="绝对路径"/> 
【我的是<Context path="/jsTest2" docBase="D:\work\javascript\jsTest" reloadable="true" />】
2)、为了使虚拟目录生效,还需要使Tomcat服务器重新加载server.xml文件,素以必须重启Tomcat服务器。

另一种无需重启tomcat的方法:

在conf\Catalina\localhost下建立 tt.xml,没有这个目录的可以手动建立tt.xml

<?xml version='1.0' encoding='utf-8'?>
<Context docBase="D:\work\javascript\jsTest" reloadable="true" crossContext="true" debug="0">
</Context>

这样tomcat就会自动部署应用,在work\Catalina\localhost下生成 与xml同名的文件夹,这个就是新的web应用,可以这样访问:http://localhost:8080/tt/

重启tomcat:======================================
进入 apache-tomcat-6.0.18\bin
运行 catalina.bat stop
catalina.bat start

配置多个服务:======================================
在 <Connector port="8080"。。。下加:
<Connector port="8082"  
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"  
               enableLookups="false" redirectPort="8443" acceptCount="100"  
               debug="0" connectionTimeout="20000"   
               disableUploadTimeout="true" />

默认用户名和密码:======================================
conf\tomcat-users.xml里:
<tomcat-users>加入:
<role rolename="manager"/>
<user username="admin" password="admin888" roles="manager"/>

遇到的错误解决:======================================

bad major version at offset=6

原因:使用高版本的JDK编译的Java class文件试图在较低版本的JVM上运行
解决方法:确保编译的JDK和运行时JVM的JRE版本一致

用 catalina.bat start时出现了几行,显示所使用的jre_home,发现不是我编译java用的jdk版本(1.6.0_20),然后配置了新的环境变量指向1.6的jre。C:\Program Files\Java\jre6