I am trying to deploy JTrac (http://www.jtrac.info/) on Geronimo and am having problems that I believe is due to class loading. JTrac works fine when you use the Jetty server that comes with it and just call run.bat. I tried just deploying the .war by copying it to the deploy directory. This gets JTrac up and running, however when using it you will soon get an error like this:

Caused by: org.dom4j.InvalidXPathException: Invalid XPath expression: '//[EMAIL PROTECTED]'1']'. Caused by: org/dom4j/Element

I can repeat that every single time and the exact same place in JTrac, but only when deployed in Geronimo. When deployed in it's own Jetty, things work fine (btw... I am using Geronimo 2.1.2 w/Jetty). So, on IRC it was suggested that I create a geronimo-web.xml plan file with inverse-classloading. I gave that a try, but that causes spring errors on the actual deploy of JTrac. I have inserted the full stack trace for the later at the bottom of this email. Here is the geronimo-web.xml file that I am using:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1";>
<dep:environment xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.2";>
       <dep:moduleId>
           <dep:groupId>default</dep:groupId>
           <dep:artifactId>JTrac</dep:artifactId>
           <dep:version>1.0</dep:version>
           <dep:type>war</dep:type>
       </dep:moduleId>
       <dep:inverse-classloading />
   </dep:environment>
   <context-root>jtrac</context-root>
</web-app>

Thanks for any help. I really want to use JTrac.

Jeremy

--------------------

2008-09-03 18:34:23,231 [Thread-50] ERROR [org.springframework.web.context.ContextLoader] - Context initialization failed ... many lines of Exceptions that are failed because of the root problem: ... Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.ExceptionInInitializerError at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1260) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:438) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:383)
       at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:353) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
       ... 72 more
Caused by: java.lang.ExceptionInInitializerError
at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:117) at org.hibernate.proxy.pojo.cglib.CGLIBProxyFactory.postInstantiate(CGLIBProxyFactory.java:43) at org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:162) at org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:135) at org.hibernate.tuple.entity.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:55) at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.<init>(EntityEntityModeToTuplizerMapping.java:56) at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:295) at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:434) at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:109) at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55) at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:226) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1294) at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:799) at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:733) at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1288) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1257)
       ... 81 more
Caused by: java.lang.ClassCastException: net.sf.cglib.proxy.Enhancer$EnhancerKey$$KeyFactoryByCGLIB$$7fb24d72 cannot be cast to net.sf.cglib.core.KeyFactory at net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java:145)
       at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:117)
       at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:108)
       at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:104)
       at net.sf.cglib.proxy.Enhancer.<clinit>(Enhancer.java:69)
       ... 98 more

Reply via email to