我机器本来有JDK1.4,昨天我装了1.5之后没把1.4卸载,而是把JAVA_HOME改为1.5的安装目录,之后我现在执行一个程序老出现这样的问题,编译能过去<Unsupported major.minor Version 49.0>昨天查看了文档,说是 读取一个类文件,主辅版本号不受支持。不知道出这个问题是什么引起的,谢谢各位了~

解决方案 »

  1.   

    由于服务器端的需求,需要把jdk从1.4升级到1.5,升级后可能会出现一些错误,例如:Unsupported major.minor version 49.0注:48,49是Java编译器内部的版本号,48表示是用JDK1.4来编译运行程序的,49表示是用JDK1.5编译运行程序的 详细报错如下:java.lang.UnsupportedClassVersionError: org/apache/jsp/house/out/new_005frent_005fout_jsp (Unsupported major.minor version 49.0)
     java.lang.ClassLoader.defineClass0(Native Method)
     java.lang.ClassLoader.defineClass(ClassLoader.java:537)
     java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
     java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
     java.net.URLClassLoader.access$100(URLClassLoader.java:55)
     java.net.URLClassLoader$1.run(URLClassLoader.java:194)
     java.security.AccessController.doPrivileged(Native Method)
     java.net.URLClassLoader.findClass(URLClassLoader.java:187)
     org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:192)
     org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:110)
     org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:583)
     org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:177)
     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:296)
     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
     javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
     org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:1002)
     org.apache.jsp.index_jsp._jspService(index_jsp.java:111)
     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
     javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
     javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
     net.seave.systemManage.pub.EncodeFilter.doFilter(EncodeFilter.java:77) 解决方案:把jdk切换到1.4然后再编译生成新的class,同时设置好,JAVA_HOME,path,classpath等项,然后再重启服务,运行,okay,问题解决.
      

  2.   

    建议不要安装,从别人的电脑上copy
    指定路径就可以
    我就是1.4和1.5一起的
    在classpath配置好了就OK了
    命令中打入:java -version
    看看是不是安装成功呢,是哪个版本的 
      

  3.   

    先看看 是那个版本,,再重新编译下试试,,classpath里面设置要和前面版本对应才行
      

  4.   

    我用 java -version ,结果是在用JDK1.4,但我编译的是用1.5编译的~
    应该重新启动服务才对吧~服务名字叫什么...我郁闷
      

  5.   

    <Unsupported   major.minor   Version   49.0> 
    意思是说 这个文件不支持1.5吧,要不在1.5环境下重新编译一下试试。
      

  6.   

    现在搞的我把1.4卸载了,用1.5独立的执行,但我在CMD里输入 java -version结果一看还是1.4的,这个怎么解决啊?
    难道得重新装SDK吗?我看JAVA 的RUNTIME是1.4的~不知道怎么办才好~难道RUNTIME这个重新下1.5的才行吗?
      

  7.   


    1。4和1。5那是肯定不能 互用的,版本不一样,在读取CLASS文件的时候,CLASS 文件的第一行就标有版本信息,然后版本不一样,就说Unsupported   major.minor   Version   49.0,你用1。5来编译,而是1。4的JVM来执行,所以提示,这个东东,
    当你从新安装后,路径你改好了吗??如果好了,应该没什么问题,假如还有问题,,重新卸了,并且用清理工具清理痕迹,再安装,我不相信再会出现问题。
      

  8.   

    我刚把1.5卸载之后重新装了,在CMD打java -version怎么还是1.4的runtime...我晕了~
    我在<添加或删除程序>把1.4的和1.5的都删了,怎么还是1.4的runtime...
      

  9.   

    JDK一般都会携带自己的JRE,很可能是你的1.4的JRE没被消灭...
      

  10.   

    要想彻底消灭jre的话有什么好方法?我在<添加或删除程序> 里删的干净了.还是报那个错!
      

  11.   

    靠靠靠..终于解决了...原来是我Oracle 目录中Client里的一个残留的JRE....删掉并且拿1.6覆盖之前的1.4OK了~~