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
>
>