SORU
9 EYLÜL 2009, ÇARŞAMBA


&; NoClassDefFoundError": başlatılamadı sınıf" hata

Projemi çalıştırdığımda bu hata, çok sayıda çıkışları alıyorum:

Sep 9, 2009 8:22:23 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Jersey threw exception
java.lang.NoClassDefFoundError: Could not initialize class SpringFactory
        at com.point2.prospect.persistence.hibernate.HibernateTransactionInterceptor.doFilter(HibernateTrans
actionInterceptor.java:17)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.point2.prospect.restapi.ServerErrorInterceptor.doFilter(ServerErrorInterceptor.java:27)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)

Bu sorunun gerçek cevapları ile web üzerinde, ama soruluyor bir desen olduğunu fark ettim. Bu tür bir hata için genel bir sebep nedir?

CEVAP
13 EYLÜL 2009, Pazar


NoClassDefFound hata belirsiz bir hata olduğunu ve genellikle daha ciddi bir sorun saklanıyor.değilClassNotFoundException sınıfı sadece düz değil, orada atılır) aynı.

NoClassDefFoundolabilirsınıf yok, javadocs gösterir, ama genellikle, classloader sınıfı ve aramalar için bayt "" onlara. defineClass yüklendiğinde sonra atılmış olduğunu gösteriyor

Bir NoClassDefFoundError aldığınızda ilk bakmanız gereken yer sınıf tanımlama sırasında gerçekleşen herhangi bir başlatma yani kendi sınıfının statik biti. Eğer bu bir NoClassDefFoundError atmak olacak başarısız olursa - bir ExceptionİnİnitializerError atmak ve sorunun ayrıntılarını belirtmek gerekiyordu ama benim durumumda, bu nadirdir. Sadece NoClassDefFound atılır sonra ExceptionİnİnitializerError sınıfı tanımlamak için çalışır ilk kez yapacak.

Böylece HibernateTransactionİnterceptor satır kod bakarak ve gerektiren ne olduğunu görmesini öneririm. Sınıf SpringFactory tanımlamak mümkün gibi görünüyor. Belki de o sınıfta başlatma kodu kontrol edin, o yardımcı olabilir. Eğer hata ayıklama özel durum neden olduğunu tam yolu bulmak için deneyebilirsiniz bu yüzden son satır yukarıda (17) ve hata ayıklama durdurmak. Ayrıca günlüğüne daha yukarı Çek, sen çok şanslı bir ExceptionİnİnitializerError olabilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 30GB

    30GB

    14 AĞUSTOS 2006
  • Helen Bradley

    Helen Bradle

    4 Mart 2008
  • Tinkernut

    Tinkernut

    28 Aralık 2006