You were right! The <inverse-classloading/> did help, thanks!
best regards Łukasz On 06/03/2008, David Jencks <[EMAIL PROTECTED]> wrote: > This kind of problem is often caused by bad classloader > relationships. If jaxen is loaded in a parent classloader to your > app and jdom is loaded in your app's classloader then jdom will be > able to load jaxen classes but jaxen classes will not be able to load > jdom classes: it looks like this scenario is consistent with what > you've shown us. > > If this is the problem you can fix it by adding the jaxen jar as an > app dependency (if its missing) and including either > > <inverse-classloading/> > > or > > <hidden-classes> > <filter>org.jaxen.</filter> > <hidden-classes> > > near the end of the environment element in your geronimo plan. > > thanks > > david jencks > > > On Mar 6, 2008, at 12:55 AM, Łukasz Budnik wrote: > > > Hi All! > > > > I'm using G2.1 and I have a very weird class loader problem. > > > > My application uses JDOM and Jaxen. > > Jaxen is by default shipped with G2.1, I had only to add JDOM jar into > > G2.1 repository. > > I have added proper dependencies into my openejb-jar.xml. > > > > The thing is that it looks like Geronimo loads only some (for sure not > > all!) classes from JDOM jar. > > > > For example looking at the following stacktrace (see below) I know > > that following classes were > > > > loaded: > > org.jdom.xpath.XPath, org.jdom.xpath.JaxenXPath, > > org.jaxen.jdom.JDOMXPath, and > > > > org.jdom.JDOMException. > > > > But class loader did not load org/jdom/Parent class (it is listed > > in JDOM jar). > > > > The stacktrace: > > > > 07:59:42,921 ERROR [JDOMXMLUtils] JDOMException exception was thrown! > > org.jdom.JDOMException: java.lang.NoClassDefFoundError: > > org/jdom/Parent: org/jdom/Parent > > at org.jdom.xpath.XPath.newInstance(XPath.java:139) > > > > ... > > > > java.lang.NoClassDefFoundError: org/jdom/Parent > > at org.jaxen.jdom.JDOMXPath.<init>(JDOMXPath.java:91) > > at org.jdom.xpath.JaxenXPath.setXPath(JaxenXPath.java:281) > > at org.jdom.xpath.JaxenXPath.<init>(JaxenXPath.java:99) > > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > > Method) > > at > > > > sun.reflect.NativeConstructorAccessorImpl.newInstance > > (NativeConstructorAccessorImpl.java:39) > > at > > > > sun.reflect.DelegatingConstructorAccessorImpl.newInstance > > (DelegatingConstructorAccessorImpl.java:27) > > at java.lang.reflect.Constructor.newInstance(Constructor.java:513) > > at org.jdom.xpath.XPath.newInstance(XPath.java:129) > > > > I had no idea what is going on... > > > > It looks like classes that are explicitly defined work, classes that > > are used/created by factories > > > > don't. > > > > any tips? > > > > best regards > > Łukasz > >
