You are viewing a plain text version of this content. The canonical link for it is here.
Posted to api@directory.apache.org by Barney <ba...@iname.com> on 2014/08/23 09:06:56 UTC

QName class in xpp dependency causes linkage problems in Weblogic

Hi,

When I include the directory api in my project via Maven, it pulls in a 
dependency for xpp3-1.1.4c.jar.

     <dependency>
       <groupId>org.apache.directory.api</groupId>
       <artifactId>api-all</artifactId>
       <version>1.0.0-M24</version>
     </dependency>

This can cause problems (for me on Weblogic server) as the xpp3 library 
includes a version of the javax.xml.namespace.QName class, which can 
then cause linkage errors when using the prefer-web-inf-classes setting 
to alter the classpath loading.

My question is simply: is this full dependency on xpp3 still required, 
or is a dependency on xpp3_min sufficient? It definitely works for me - 
by changing my pom.xml to the following:

     <dependency>
       <groupId>org.apache.directory.api</groupId>
       <artifactId>api-all</artifactId>
       <version>1.0.0-M24</version>
       <exclusions>
         <exclusion>
           <groupId>xpp3</groupId>
           <artifactId>xpp3</artifactId>
         </exclusion>
       </exclusions>
     </dependency>
     <dependency>
       <groupId>xpp3</groupId>
       <artifactId>xpp3_min</artifactId>
       <version>1.1.4c</version>
     </dependency>

My classloading issues are fixed. I'm obviously not covering all the 
full tests here though, so there may be stuff that would no longer work 
with this.

This workaround is fine for my use-case, but it seems that if the full 
dependency is not required it would be good to replace it with the 
minimal one.

Cheers,

Barney


Re: QName class in xpp dependency causes linkage problems in Weblogic

Posted by Emmanuel Lecharny <el...@apache.org>.
If you are not going tu use DSML, yiu can simply remive the dependency on
xpp.
Le 23 août 2014 09:56, "Barney" <ba...@iname.com> a écrit :

> Hi,
>
> When I include the directory api in my project via Maven, it pulls in a
> dependency for xpp3-1.1.4c.jar.
>
>     <dependency>
>       <groupId>org.apache.directory.api</groupId>
>       <artifactId>api-all</artifactId>
>       <version>1.0.0-M24</version>
>     </dependency>
>
> This can cause problems (for me on Weblogic server) as the xpp3 library
> includes a version of the javax.xml.namespace.QName class, which can then
> cause linkage errors when using the prefer-web-inf-classes setting to alter
> the classpath loading.
>
> My question is simply: is this full dependency on xpp3 still required, or
> is a dependency on xpp3_min sufficient? It definitely works for me - by
> changing my pom.xml to the following:
>
>     <dependency>
>       <groupId>org.apache.directory.api</groupId>
>       <artifactId>api-all</artifactId>
>       <version>1.0.0-M24</version>
>       <exclusions>
>         <exclusion>
>           <groupId>xpp3</groupId>
>           <artifactId>xpp3</artifactId>
>         </exclusion>
>       </exclusions>
>     </dependency>
>     <dependency>
>       <groupId>xpp3</groupId>
>       <artifactId>xpp3_min</artifactId>
>       <version>1.1.4c</version>
>     </dependency>
>
> My classloading issues are fixed. I'm obviously not covering all the full
> tests here though, so there may be stuff that would no longer work with
> this.
>
> This workaround is fine for my use-case, but it seems that if the full
> dependency is not required it would be good to replace it with the minimal
> one.
>
> Cheers,
>
> Barney
>
>