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. :-/ - Jörg --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org