John,
I have tried your hunch but it does works for me, after looking and adding
<scope>provided</scope> to all 'xom:xom' dependencies the final jar still
contains the classes of the dependency. Sorry
I found one way to solve this. If anybody runs in the same problem, the
following has worked for me:
The packaging process is performed using 'shade-plugin' (
http://maven.apache.org/plugins/maven-shade-plugin/) in bundle/pom.xml:
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.2</version>
<configuration>
<finalName>cdk-${project.parent.version}</finalName>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
...
The configuration tag of this plug-in allows to exclude specific
dependencies by using the <artifactSet> tag. I have added the following (in
bold):
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.2</version>
<configuration>
<finalName>cdk-${project.parent.version}</finalName>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
*<artifactSet> *
* <excludes>*
* <exclude>xml-apis:xml-apis:*:*</exclude>*
* </excludes>*
* </artifactSet>*
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
...
In my case I wanted to remove dependency xml-apis:xml-apis. The final
package cdk-1.5.7.jar does not contain the classes of this dependency.
thanks for your time.
Oscar
2014-09-03 20:32 GMT+02:00 John May <[email protected]>:
> Hi Oscar,
>
> Just a hunch but might also need to exclude xom also - xom depends on
> xml-apis (see here http://mvnrepository.com/artifact/xom/xom/1.2.5).
>
> [WARNING] xml-apis-1.3.03.jar, xpp3-1.1.4c.jar define 1 overlappping
> classes:
> [WARNING] - javax.xml.namespace.QName
> [WARNING] xom-1.2.5.jar, xml-apis-1.3.03.jar define 1 overlappping
> classes:
> [WARNING] - org.w3c.dom.UserDataHandler
>
>
> J
>
> On Sep 3, 2014, at 7:06 PM, Oscar Mora <[email protected]> wrote:
>
> Hi,
>
> I use CDK as external library in a java-based project. I am experiencing
> problems with the 'Classloader' and for this I would like to rebuild CDK
> avoiding the inclusion of an specific dependency. The class which I think
> is problematic (I must admit I am not 100% sure) is:
>
> javax.xml.parsers.SAXParserFactory
>
> This class is contained in the dependency:
>
> xml-apis.xml-apis
>
> I have detected this dependency in cdk/base/dict sub-project
>
> <dependency>
> <groupId>xml-apis</groupId>
> <artifactId>xml-apis</artifactId>
> <version>1.3.03</version>
> </dependency>
>
> and I have added the following line to the pom.xml contained in
> cdk/base/dict/pom.xml :
>
> <dependency>
> <groupId>xml-apis</groupId>
> <artifactId>xml-apis</artifactId>
> <version>1.3.03</version>
> * <scope>provided</scope>*
> </dependency>
>
> Then, I have rebuilt the CDK project using the command:
>
> $mvn clean compile package -Dmaven.test.skip=true
>
> But the final .jar (contained in bundle/target) still contains the class:
>
> javax.xml.parsers.SAXParserFactory
>
> What am I doing wrong ? Could anybody give me a piece of advice to solve
> this situation ?
>
> thanks in advance
>
> Oscar
>
>
>
>
> ------------------------------------------------------------------------------
> Slashdot TV.
> Video for Nerds. Stuff that matters.
> http://tv.slashdot.org/_______________________________________________
> Cdk-user mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/cdk-user
>
>
>
>
> ------------------------------------------------------------------------------
> Slashdot TV.
> Video for Nerds. Stuff that matters.
> http://tv.slashdot.org/
> _______________________________________________
> Cdk-user mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/cdk-user
>
>
------------------------------------------------------------------------------
Slashdot TV.
Video for Nerds. Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Cdk-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cdk-user