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

  • BurnedInDotCom

    BurnedInDotC

    3 NİSAN 2010
  • Matt Harding

    Matt Harding

    23 Mayıs 2006
  • Matt Stokes

    Matt Stokes

    22 Ocak 2008