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