You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by Jeremy Cowgar <je...@cowgar.com> on 2008/09/04 00:36:44 UTC

Deploying JTrac

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: 
'//state[@key='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


Re: Deploying JTrac

Posted by Alexey Kakunin <ak...@emdev.ru>.
Just read a little bit more carefully stack-trace
I think key reason in
Caused by: java.lang.ClassCastException:
net.sf.cglib.proxy.Enhancer$EnhancerKey$$KeyFactoryByCGLIB$$7fb24d72
cannot be cast to net.sf.cglib.core.KeyFactory

Try to put cglib also into hidden-classes


2008/9/4 Jeremy Cowgar <je...@cowgar.com>

> 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:
> '//state[@key='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
>
>


-- 
With best regards,
Alexey Kakunin

Re: Deploying JTrac

Posted by Alexey Kakunin <ak...@emdev.ru>.
I expresienced about same problems (jdom, spring & so on) then I tried to
adopt emforge for geronimo.
Finally followed geronimo-web.xml allowed me to run EmForge on Geronimo:

http://www.emforge.org/browser/EmForge/trunk/emforge-web/src/main/webapp/WEB-INF/geronimo-web.xml

Dependencies not required in your case - it is for WebServices
implementation. Part may be interesting for you:

<sys:hidden-classes>
   			<sys:filter>org.jaxen</sys:filter>
   			<sys:filter>org.springframework</sys:filter>
   			<!-- sys:filter>org.apache.cxf</sys:filter -->
   			<sys:filter>META-INF/spring</sys:filter>
   		</sys:hidden-classes>
   		
   		<sys:inverse-classloading/>


Hope it will help!

2008/9/4 Jeremy Cowgar <je...@cowgar.com>

> 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:
> '//state[@key='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
>
>


-- 
With best regards,
Alexey Kakunin