Erro na recuperação de datas com JPA/Hibernate/Firebird

Bom dia!

Ao realizar uma consulta com JSF/Facelets/EJB 3/JPA (HIbernate Entity Manager)/Firebird usando o servidor Glassfish e estou enfrentando um NoClassDefFoundException estranhíssimo, a falta da classe sun.util.calendar.JulianCalendar. Acontece que não há no sistema qualquer menção a um calendário que não seja o gregoriano (e nem sei como se faz isso). O problema é que eu não tenho o controle de como o JPA, o Hibernate e o driver JDBC do Firebird tratam manipulação de datas. Não achei nada no Google sobre isto. Alguém já passou por este problema? Além disto, algumas vezes o erro que dá é um PermGen space. Abaixo o stack trace.

Caused by: java.lang.NoClassDefFoundError: Could not initialize class sun.util.calendar.JulianCalendar at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) at sun.util.calendar.CalendarSystem.forName(CalendarSystem.java:149) at java.util.GregorianCalendar.getJulianCalendarSystem(GregorianCalendar.java:2643) at java.util.GregorianCalendar.computeTime(GregorianCalendar.java:2388) at java.util.Calendar.updateTime(Calendar.java:2463) at java.util.Calendar.getTimeInMillis(Calendar.java:1082) at java.util.Calendar.getTime(Calendar.java:1055) at org.firebirdsql.gds.XSQLVAR$datetime.toDate(XSQLVAR.java:751) at org.firebirdsql.gds.XSQLVAR.decodeDate(XSQLVAR.java:604) at org.firebirdsql.jdbc.field.FBDateField.getDate(FBDateField.java:61) at org.firebirdsql.jdbc.FBResultSet.getDate(FBResultSet.java:828) at org.hibernate.type.DateType.get(DateType.java:28) at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:113) at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:102) at org.hibernate.type.AbstractType.hydrate(AbstractType.java:81) at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2046) at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1371) at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1299) at org.hibernate.loader.Loader.getRow(Loader.java:1197) at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:568) at org.hibernate.loader.Loader.doQuery(Loader.java:689) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224) at org.hibernate.loader.Loader.doList(Loader.java:2211) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2095) at org.hibernate.loader.Loader.list(Loader.java:2090) at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:388) at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338) at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172) at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121) at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79) at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:82) at br.uenf.academico.modelo.ejb.AlunoFacadeBean.getAluno(AlunoFacadeBean.java:59) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1050) at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:165) at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2766) at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:3847) at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:184) at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:71) at $Proxy88.getAluno(Unknown Source) at br.uenf.academico.gui.InscricaoDisciplinaController.validarAluno(InscricaoDisciplinaController.java:95) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.el.parser.AstValue.invoke(AstValue.java:151) at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283) at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68) at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77) ... 39 more

essa classe sun.util.calendar.JulianCalendar ou todas as dependencias dela estão no seu classpath?

Em tese, a classe sun.util.calendar.JulianCalendar deveria fazer parte do próprio JSE, já que é dependência da classe java.util.GregorianCalendar. Nem faço idéia de onde eu poderia baixar isto.

rodrigo@grc-rodrigo:~$ java -version java version "1.6.0_01" Java(TM) SE Runtime Environment (build 1.6.0_01-b06) Java HotSpot(TM) Client VM (build 1.6.0_01-b06, mixed mode, sharing)

java.lang.NoClassDefFoundError:

Classpath com certeza.

Qual a versão do JDK q vc esta utilizando?

Até!