file truncated错误 class file,该怎么处理

Hi, I'm using Java 1.6 with Tomcat 6.0.26.
When we are visiting
certain JSPs, we are getting the error below.
All the literature I
have found so far pertains to applets, so I wanted to float this out
to the group to see what advice you have about troubleshooting this
Thanks, - Dave
java.lang.ClassFormatError: Truncated class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:
at java.net.URLClassLoader.defineClass(URLClassLoader.java:
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66)
org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:
com.lvcva.servlet.generic.GenericHttpServlet.callView(GenericHttpServlet.java:
com.lvcva.servlet.dine.DiningServlet.details(DiningServlet.java:272)
at sun.reflect.GeneratedMethodAccessor457.invoke(Unknown
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
at java.lang.reflect.Method.invoke(Method.java:597)
com.lvcva.servlet.generic.GenericHttpServlet.doGet(GenericHttpServlet.java:
at javax.servlet.http.HttpServlet.service(HttpServlet.java:
at javax.servlet.http.HttpServlet.service(HttpServlet.java:
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
com.lvcva.filter.RecordPageFilter.doFilter(RecordPageFilter.java:30)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
org.mon.HandlerRequest.invoke(HandlerRequest.java:283)
org.mon.ChannelSocket.invoke(ChannelSocket.java:767)
org.mon.ChannelSocket.processConnection(ChannelSocket.java:
at org.mon.ChannelSocket
$SocketConnection.runIt(ChannelSocket.java:889)
at org.apache.tomcat.util.threads.ThreadPool
$ControlRunnable.run(ThreadPool.java:686)
at java.lang.Thread.run(Thread.java:619)
52640 articles.
0 followers.
1413 Views
[PageSpeed]
The problem is occuring in the load class method in JasperLoader. I
suspect your jsp is not getting compiled: (method is below).
Two things can be done here:
1. Put a breakpoint in JasperLoader in the above class and see what
2. Try to precompile your JSPs and see which one fails. That should give
you a start.
(Ref: /2006/04/how-to-pre-
compile-jsp-pages-for.html)
public Class loadClass(final String name, boolean resolve)
throws ClassNotFoundException {
Class clazz =
// (0) Check our previously loaded class cache
clazz = findLoadedClass(name);
if (clazz != null) {
if (resolve)
resolveClass(clazz);
return (clazz);
// (.5) Permission to access this class when using a
SecurityManager
if (securityManager != null) {
int dot = name.lastIndexOf('.');
if (dot &= 0) {
// Do not call the security manager since by
default, we grant that package.
(!&org.apache.jasper.runtime&.equalsIgnoreCase(name.substring(0,dot))){
securityManager.checkPackageAccess
(name.substring(0,dot));
} catch (SecurityException se) {
String error = &Security Violation, attempt
to use & +
&Restricted Class: & +
se.printStackTrace();
throw new ClassNotFoundException(error);
if( !name.startsWith(Constants.JSP_PACKAGE_NAME + '.') )
// Class is not in org.apache.jsp, therefore, have
// parent load it
clazz = parent.loadClass(name);
if( resolve )
resolveClass(clazz);
return findClass(name);
laredotornado && wrote in
news:6e10c54e-be59-4b4e-b228-b0@:
& Hi, I'm using Java 1.6 with Tomcat 6.0.26.
When we are visiting
& certain JSPs, we are getting the error below.
All the literature I
& have found so far pertains to applets, so I wanted to float this out
& to the group to see what advice you have about troubleshooting this
& further.
Thanks, - Dave
& java.lang.ClassFormatError: Truncated class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
& java.security.SecureClassLoader.defineClass(SecureClassLoader.java:
at java.net.URLClassLoader.defineClass(URLClassLoader.java:
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
& org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:
& org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66)
& org.apache.jasper.JspCompilationContext.load
(JspCompilationContext.java
& org.apache.jasper.servlet.JspServletWrapper.getServlet
(JspServletWrappe
& r.java: 144)
& org.apache.jasper.servlet.JspServletWrapper.service
(JspServletWrapper.j
& ava: 329)
& org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:
& org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:
& org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
& ationFilterChain.java: 290)
& org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFil
& terChain.java: 206)
& org.apache.catalina.core.ApplicationDispatcher.invoke
(ApplicationDispat
& cher.java: 654)
& org.apache.catalina.core.ApplicationDispatcher.processRequest
(Applicati
& onDispatcher.java: 445)
& org.apache.catalina.core.ApplicationDispatcher.doForward
(ApplicationDis
& patcher.java: 379)
& org.apache.catalina.core.ApplicationDispatcher.forward
(ApplicationDispa
& tcher.java: 292)
& com.lvcva.servlet.generic.GenericHttpServlet.callView
(GenericHttpServle
& t.java: 610)
& com.lvcva.servlet.dine.DiningServlet.details(DiningServlet.java:272)
at sun.reflect.GeneratedMethodAccessor457.invoke(Unknown
& sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccesso
& rImpl.java: 25)
at java.lang.reflect.Method.invoke(Method.java:597)
& com.lvcva.servlet.generic.GenericHttpServlet.doGet
(GenericHttpServlet.j
& ava: 587)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:
at javax.servlet.http.HttpServlet.service(HttpServlet.java:
& org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
& ationFilterChain.java: 290)
& org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFil
& terChain.java: 206)
& com.lvcva.filter.RecordPageFilter.doFilter(RecordPageFilter.java:30)
& org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
& ationFilterChain.java: 235)
& org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFil
& terChain.java: 206)
& org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperVal
& ve.java: 230)
& org.apache.catalina.core.StandardContextValve.invoke
(StandardContextVal
& ve.java: 175)
& org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.jav
& org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.jav
& org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve
& .java: 109)
& org.apache.catalina.connector.CoyoteAdapter.service
(CoyoteAdapter.java:
& org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
& org.mon.HandlerRequest.invoke(HandlerRequest.java:283)
& org.mon.ChannelSocket.invoke(ChannelSocket.java:767)
& org.mon.ChannelSocket.processConnection
(ChannelSocket.java
at org.mon.ChannelSocket
& $SocketConnection.runIt(ChannelSocket.java:889)
at org.apache.tomcat.util.threads.ThreadPool
& $ControlRunnable.run(ThreadPool.java:686)
at java.lang.Thread.run(Thread.java:619)
Thanks. I had some problem in my tag file so it was giving this error. It got solved now.
On Thursday, December 16, :44 AM UTC+5:30, Karl Lopes wrote:
& The problem is occuring in the load class method in JasperLoader. I
& suspect your jsp is not getting compiled: (method is below).
& Two things can be done here:
& 1. Put a breakpoint in JasperLoader in the above class and see what
& happens.
& 2. Try to precompile your JSPs and see which one fails. That should give
& you a start.
(Ref: /2006/04/how-to-pre-
& compile-jsp-pages-for.html)
& public Class loadClass(final String name, boolean resolve)
throws ClassNotFoundException {
Class clazz =
// (0) Check our previously loaded class cache
clazz = findLoadedClass(name);
if (clazz != null) {
if (resolve)
resolveClass(clazz);
return (clazz);
// (.5) Permission to access this class when using a
& SecurityManager
if (securityManager != null) {
int dot = name.lastIndexOf('.');
if (dot &= 0) {
// Do not call the security manager since by
& default, we grant that package.
& (!&org.apache.jasper.runtime&.equalsIgnoreCase(name.substring(0,dot))){
securityManager.checkPackageAccess
& (name.substring(0,dot));
} catch (SecurityException se) {
String error = &Security Violation, attempt
& to use & +
&Restricted Class: & +
se.printStackTrace();
throw new ClassNotFoundException(error);
if( !name.startsWith(Constants.JSP_PACKAGE_NAME + '.') )
// Class is not in org.apache.jsp, therefore, have
// parent load it
clazz = parent.loadClass(name);
if( resolve )
resolveClass(clazz);
return findClass(name);
& laredotornado && wrote in
& news:6e10c54e-be59-4b4e-b228-b0@:
& & Hi, I'm using Java 1.6 with Tomcat 6.0.26.
When we are visiting
& & certain JSPs, we are getting the error below.
All the literature I
& & have found so far pertains to applets, so I wanted to float this out
& & to the group to see what advice you have about troubleshooting this
& & further.
Thanks, - Dave
& & java.lang.ClassFormatError: Truncated class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
& & java.security.SecureClassLoader.defineClass(SecureClassLoader.java:
at java.net.URLClassLoader.defineClass(URLClassLoader.java:
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
& & org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:
& & org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66)
& & org.apache.jasper.JspCompilationContext.load
& (JspCompilationContext.java
& & : 598)
& & org.apache.jasper.servlet.JspServletWrapper.getServlet
& (JspServletWrappe
& & r.java: 144)
& & org.apache.jasper.servlet.JspServletWrapper.service
& (JspServletWrapper.j
& & ava: 329)
& & org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:
& & org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:
& & org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
& & ationFilterChain.java: 290)
& & org.apache.catalina.core.ApplicationFilterChain.doFilter
& (ApplicationFil
& & terChain.java: 206)
& & org.apache.catalina.core.ApplicationDispatcher.invoke
& (ApplicationDispat
& & cher.java: 654)
& & org.apache.catalina.core.ApplicationDispatcher.processRequest
& (Applicati
& & onDispatcher.java: 445)
& & org.apache.catalina.core.ApplicationDispatcher.doForward
& (ApplicationDis
& & patcher.java: 379)
& & org.apache.catalina.core.ApplicationDispatcher.forward
& (ApplicationDispa
& & tcher.java: 292)
& & com.lvcva.servlet.generic.GenericHttpServlet.callView
& (GenericHttpServle
& & t.java: 610)
& & com.lvcva.servlet.dine.DiningServlet.details(DiningServlet.java:272)
at sun.reflect.GeneratedMethodAccessor457.invoke(Unknown
& & Source)
& & sun.reflect.DelegatingMethodAccessorImpl.invoke
& (DelegatingMethodAccesso
& & rImpl.java: 25)
at java.lang.reflect.Method.invoke(Method.java:597)
& & com.lvcva.servlet.generic.GenericHttpServlet.doGet
& (GenericHttpServlet.j
& & ava: 587)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:
at javax.servlet.http.HttpServlet.service(HttpServlet.java:
& & org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
& & ationFilterChain.java: 290)
& & org.apache.catalina.core.ApplicationFilterChain.doFilter
& (ApplicationFil
& & terChain.java: 206)
& & com.lvcva.filter.RecordPageFilter.doFilter(RecordPageFilter.java:30)
& & org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
& & ationFilterChain.java: 235)
& & org.apache.catalina.core.ApplicationFilterChain.doFilter
& (ApplicationFil
& & terChain.java: 206)
& & org.apache.catalina.core.StandardWrapperValve.invoke
& (StandardWrapperVal
& & ve.java: 230)
& & org.apache.catalina.core.StandardContextValve.invoke
& (StandardContextVal
& & ve.java: 175)
& & org.apache.catalina.core.StandardHostValve.invoke
& (StandardHostValve.jav
& & a: 128)
& & org.apache.catalina.valves.ErrorReportValve.invoke
& (ErrorReportValve.jav
& & a: 104)
& & org.apache.catalina.core.StandardEngineValve.invoke
& (StandardEngineValve
& & .java: 109)
& & org.apache.catalina.connector.CoyoteAdapter.service
& (CoyoteAdapter.java:
& & org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
& & org.mon.HandlerRequest.invoke(HandlerRequest.java:283)
& & org.mon.ChannelSocket.invoke(ChannelSocket.java:767)
& & org.mon.ChannelSocket.processConnection
& (ChannelSocket.java
& & : 697)
at org.mon.ChannelSocket
& & $SocketConnection.runIt(ChannelSocket.java:889)
at org.apache.tomcat.util.threads.ThreadPool
& & $ControlRunnable.run(ThreadPool.java:686)
at java.lang.Thread.run(Thread.java:619)bytecode - Class Loader (java.lang.ClassFormatError: Truncated class file) - Stack Overflow
to customize your list.
Announcing Stack Overflow Documentation
We started with Q&A. Technical documentation is next, and we need your help.
Whether you're a beginner or an experienced developer, you can contribute.
I am writing my own classloader, that is changing stuff in the constantpool of the classes.
I know that my error is caused by my changes and not the class loader or the default class.
I need to know where i have to fine the signature of the classfile, and how I can change it so my class is not read as corrupted.
site to read and change my constant pool, but on the site is nothing about a file signature.
I think it might be hidden in the Attribute Table, but im not shure about that
and even if I'm able to find it i have no idea how to recreate the signature to get the file working again.
I hope somebody is able to help me.
I found something about the bytecode verifier , but I still don't realy understand how it works.
Know someone who can answer?
Share a link to this
via , , , or .
Your Answer
Sign up or
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Post as a guest
By posting your answer, you agree to the
Browse other questions tagged
Stack Overflow works best with JavaScript enabled温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(2981)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_082075',
blogTitle:'hibernate-search-3.3.0.Final中文文档翻译及学习笔记',
blogAbstract:'开始只是自己看,没想到要翻译,从第四章开始进行翻译,主要章节基本全部进行了翻译。文档中前面是英文,后面是中文翻译,一一对应。
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}java(37)
java基础(20)
之前跑的很好的程序,因为我本地IDE出了问题的原因,倒是编译的错误的class文件,结果点击的时候报这样的错误,后来重新clean了工程,重新打包解压启动,问题依旧。
解决办法:
把tomcat的work目录直接删掉,让他重新启动。rm -rf Catalina
分析原因:
可能是tomcat的缓存原因吧!希望也遇到这个问题的同学可以顺利解决!
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:46522次
积分:1723
积分:1723
排名:第16628名
原创:126篇
转载:35篇
评论:10条
(8)(7)(5)(2)(3)(1)(9)(3)(2)(6)(1)(6)(12)(7)(4)(1)(1)(2)(6)(5)(3)(5)(7)(19)(2)(4)(3)(2)(4)(2)(1)(7)(7)(2)(1)

我要回帖

更多关于 file classpath 的文章

 

随机推荐