You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@brooklyn.apache.org by "Aled Sage (JIRA)" <ji...@apache.org> on 2016/03/14 15:49:33 UTC

[jira] [Commented] (BROOKLYN-223) The dist contains duplicate classes in different jars

    [ https://issues.apache.org/jira/browse/BROOKLYN-223?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15193390#comment-15193390 ] 

Aled Sage commented on BROOKLYN-223:
------------------------------------

Perhaps we should use this to detect duplicate classes, and fail the build if there are any?! https://github.com/basepom/duplicate-finder-maven-plugin

But first step is to fix the duplicates we do have.

> The dist contains duplicate classes in different jars
> -----------------------------------------------------
>
>                 Key: BROOKLYN-223
>                 URL: https://issues.apache.org/jira/browse/BROOKLYN-223
>             Project: Brooklyn
>          Issue Type: Bug
>            Reporter: Svetoslav Neykov
>
> Various jars in the dist contain conflicting class implementations. 
> Need to check and confirm whether duplicate classes are expected or address possible conflicts.
> Sample duplicates:
>   * org.xmlpull.v1.XmlPullParserException
>   * org.objectweb.asm.signature.SignatureWriter
>   * io.swagger.util.Yaml
>   * com.jcraft.jsch.agentproxy.USocketFactory
> For example asm jars with different groupIds are included. Aspectj is included with two jars one of which is subset of the other (aspectjrt-1.7.4.jar and aspectjweaver-1.7.4.jar). Swagger is bundled in our brooklyn-utils-rest-swagger project jar, but still included as a separate dependency.
> Reproducing:
>   * get all (potentially) conflicting classes: {{find . -name "*.jar" | xargs -n1 unzip -Z -1 | grep "\.class$"  | sort | uniq -c | sort -nr | awk '$1 > 1'}}
>   * list jars including specific class: {{for i in `find . -name '*.jar'`; do if unzip -Z -1 $i | grep -q '^org/xmlpull/v1/XmlPullParserException.class'; then echo $i; fi; done}}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)