公司让我在原有的项目上增加一个小模块,但是没有源代码,而且JDK等环境版本比较低(JDK1.4)。
于是我将其class文件反编译成java文件,对其进行部分修改后,编译,然后用winrar将新编译成的class文件压缩到原来的jar包。这个时候我运行整个工程,控制台报错。
我重新安装了jdk1.5.0_06,这个时候能运行了,一切都是按照自己修改后的逻辑运行。
可问题出来了,哪怕我只用记事本打开其中的某一个JSP页面,增加一个空格或者是回车,再保存,测试的时候,会报错,具体错误见下面:
于是我将其class文件反编译成java文件,对其进行部分修改后,编译,然后用winrar将新编译成的class文件压缩到原来的jar包。这个时候我运行整个工程,控制台报错。
我重新安装了jdk1.5.0_06,这个时候能运行了,一切都是按照自己修改后的逻辑运行。
可问题出来了,哪怕我只用记事本打开其中的某一个JSP页面,增加一个空格或者是回车,再保存,测试的时候,会报错,具体错误见下面:
error: C:\Program Files\Java\jdk1.5.0_06\jre\lib\rt.jar(java/util/Hashtable.class) 中的类文件格式无效。 major.minor 版本 "49.0" 太新,此工具无法识别。D:\BSIsoft\buildserver\appserver\work\Standalone\localhost\_\content\cm\cmapp\bulletincontent$jsp.java:3: 在 import 中未找到类 java.util.Hashtable。
import java.util.Hashtable;
^
error: D:\BSIsoft\buildserver\appserver\webapps\ROOT\WEB-INF\classes\com\eway\content\AbstractStrutsColumnContent.class 中的类文件格式无效。 major.minor 版本 "49.0" 太新,此工具无法识别。D:\BSIsoft\buildserver\appserver\work\Standalone\localhost\_\content\cm\cmapp\bulletincontent$jsp.java:15: 在 import 中未找到类 com.eway.content.AbstractStrutsColumnContent。
com.eway.content.AbstractStrutsColumnContent;
^
error: C:\Program Files\Java\jdk1.5.0_06\jre\lib\rt.jar(java/lang/Object.class) 中的类文件格式无效。 major.minor 版本 "49.0" 太新,此工具无法识别。D:\BSIsoft\buildserver\appserver\work\Standalone\localhost\_\content\cm\cmapp\bulletincontent$jsp.java:0: 在 class javax.servlet.GenericServlet 中未找到类 java.lang.Object。
package org.apache.jsp;
^
6 个错误, 1 个警告 at org.apache.jasper.compiler.Compiler.compile(Compiler.java:285)
at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:548)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:176)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:188)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:683)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:431)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:355)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1058)
at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:269)
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:451)
at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:312)
at org.apache.struts.action.RequestProcessor.processActionForward(RequestProcessor.java:401)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1420)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:502)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:75)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:172)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
at java.lang.Thread.run(Thread.java:595)