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

  • Adam Washington

    Adam Washing

    12 Mayıs 2006
  • bethliebert

    bethliebert

    23 EKİM 2008
  • ChrisCrossMedia

    ChrisCrossMe

    17 EYLÜL 2009