Allow artifact aliases
----------------------
Key: MNG-3058
URL: http://jira.codehaus.org/browse/MNG-3058
Project: Maven 2
Issue Type: New Feature
Components: POM
Reporter: Dimitry Voytenko
The unfortunate fact is that there's a number of different artifacts that
essentially mean the same thing.
For instance:
- javax.servlet:jsp-api vs javax.servlet.jsp:jsp-api
- commons-logging:commons-logging vs commons-logging:commons-logging-api
The number of such artifacts is only growing, increasing the ambiguity.
One way to deal with this situations could be by introducing "aliases" for
artifacts. This would be a way to tell Maven that two artifacts basically mean
the same thing. Such an alias-artifact could be deployed in the entierprise
repository to help resolve ambiguities within a single workshop.
For instance, we've been using "berkeleydb:je" artifact for some time, but now,
since acquisition by Oracle, some tool vendors use
"com.sleepycat.berkleydb:bdbje" and other names. These, in turn, mean the same
thing, but from the Maven's standpoint they're completely different, so if one
library referred to "berkeleydb:je:2.1.30" and the other referred to
"com.sleepycat.berkleydb:bdbje:3.1.0" the WAR (for instance) will endup with
two jars "je_2_1_30.jar" and "bdbje_3_1_0.jar", and further which of this will
be used is unknown. Here, if there was a way to specify that
com.sleepycat.berkleydb:bdbje == berkeleydb:je, Maven would simply pick
whichever has a higher version, thus removing the ambiguity w/o manual
intervention.
I understand, this could somewhat complicate current Maven's artifact
resolution (which was perfectly simple so far), but it could also help to deal
with mounting addressing issues.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira