当前位置: 代码迷 >> 综合 >> Compilation error org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
  详细解决方案

Compilation error org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException

热度:38   发布时间:2024-01-27 01:04:53.0

 

把公司的一个老项目(jdk6+tomcat6)升级到tomcat7.0.100 解决最后闹得很凶的一个ajp协议上传漏洞。结果项目启不来,报错信息:

三月 03, 2020 3:28:04 下午 org.apache.jasper.compiler.JDTCompiler$1 findType
严重: Compilation error
org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
at org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.<init>(ClassFileReader.java:372)
at org.apache.jasper.compiler.JDTCompiler$1.findType(JDTCompiler.java:259)
at org.apache.jasper.compiler.JDTCompiler$1.findType(JDTCompiler.java:215)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:109)
at org.eclipse.jdt.internal.compiler.lookup.UnresolvedReferenceBinding.resolve(UnresolvedReferenceBinding.java:49)
at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveType(BinaryTypeBinding.java:122)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getTypeFromTypeSignature(LookupEnvironment.java:1242)
at *************************

从字面看是编译问题。因为服务器上面有多个jdk。我抱着试一试的形态,修改tomcat7里面的catalina.bat第一行强行指定tomcat在老jdk6上面跑:

set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_43

结果项目成功启动!

 

 

  相关解决方案