You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Markus Karg (JIRA)" <ji...@apache.org> on 2019/04/14 10:43:00 UTC

[jira] [Commented] (MSHADE-318) Specifically included class's dependencies are missing

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

Markus Karg commented on MSHADE-318:
------------------------------------

I withhold a fix in the draft state ([https://github.com/apache/maven-shade-plugin/pull/20]) until [https://github.com/apache/maven-shade-plugin/pull/19] is merged, as my solution builds ontop of that.

> Specifically included class's dependencies are missing
> ------------------------------------------------------
>
>                 Key: MSHADE-318
>                 URL: https://issues.apache.org/jira/browse/MSHADE-318
>             Project: Maven Shade Plugin
>          Issue Type: Bug
>    Affects Versions: 3.2.1
>            Reporter: Markus Karg
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Using `<include>` one can specifically defined classes to exempt from minijar's filtering. This is useful when a class is referenced by `String` name instead of `Class` object reference, like e. g. reflection.
> Unfortunately *just* the explicitly included class is exempted from removal, while all its transitive references (i. e. all the classes it uses it turn) are still removed when shading. This effectively breaks the result's functionality. This is hard to work around, as *all* such dependencies have to be explicitly given in the pom to prevent it. That is really nasty.
> As a solution, a specific include shall always automatically include all *transitive dependencies* of the explicitly exempted class.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)