maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Kettler <>
Subject Re: Antwort: Re: Maven Shade Plugin
Date Fri, 01 Mar 2013 08:48:51 GMT
Am 01.03.2013 08:26, schrieb Jörg Schaible:
> Hi Tim,
> Tim Kettler wrote:
>> Am 28.02.2013 19:47, schrieb Joachim Durchholz:
>>> Am 28.02.2013 16:24, schrieb Jan Engler:
>>>> At first: in fact this is only one artifact. The full jar contains all
>>>> classes of the dependecies, the api a reduced set (using filtern in the
>>>> shade plugin).
>>> Is there a (conceivable) Maven build that uses api.jar as a dependency?
>>> Then it must be the main artifact at its GAV (groupId/artifact/version)
>>> coordinate.
>>> Is there a (conceivable) Maven build that uses full.jar as a dependency?
>>> Then it must be the main artifact at its GAV coordinate.
>>> If both jars need to be main artifacts, they need to go to different GAV
>>> coordinates. Because the dependent projects that need either api.jar or
>>> full.jar have no way of specifying which of them they actually need, the
>>> dependency section in their poms can only specify the GAV coordinate.
>> That's not correct. The classifier is part of the artifact coordinates
>> just like group, artifact(name) and version. A POM can just as well
>> depend on a secondary artifact:
>>     <dependency>
>>       <groupId>foo</groupId>
>>       <artifactId>bar</artifactId>
>>       <version>1.0</version>
>>       <classifier>api</classifier>
>>     </dependency>
>> The complete coordinates of an artifact are GAVTC: group,
>> artifact(name), version, type (default is jar), classifier (default is
>> empty).
> That's not the real problem. What actually *is* a problem, if you depend on
> different artifacts that bring both jars as transitive dependencies - you
> cannot exclude e.g. the -api, because for exclusions you can only specify
> GA. :-/

Ouch, never ran into this one.

> - Jörg


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message