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:00:03 UTC

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

Markus Karg created MSHADE-318:
----------------------------------

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


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)