On Fri, Jun 27, 2008 at 10:35 AM, Hoeher, Alexander <
[EMAIL PROTECTED]> wrote:

> Hello Maven people,
>
> I have the current version of Maven, Maven 2.0.9 installed.
> Any helpful comments welcome!
>
> A. Problem
> This is the problem, abstract:
> How can I disambiguate jar names of jars taken from Maven repo (for
> example for web app deployment)?
> Unique jar names including the groupid are needed, not only in the
> target dir, but also in dealing with the Maven repo jars.
> project.build.finalName does not help here, see below solution approach
> 1.
>
> This is the problem, concrete:
> For the deployment of jars to a local web app, the current deployment
> process just copies the jars as is from the Maven repo into WEB-INF/lib.
> Jars in the repo just have artefactid-version-based names that are not
> unique, however.
> Stuffing these jars all into the same WEB-INF/lib will let some jars be
> overwritten.
> So, unique jar names are needed.
> This means, the groupid must be included in the jar name.
>

AFAIK, if you have an artifactId clash, then the war plugin automatically
changes the names of both to be prefixed with the groupId.

So this scenario is not a problem

-Stephen


>
>
> B. Solution space:
> I see 3 possible approaches to the problem at hand:
>
> 1. Let Maven install plugin write jars with unique names,
> groupid-artefactid-version-based names, into the repo on install.
> How can I get Maven to do this?
> The "obvious" implementation does not work, as project.build.finalName
> does not affect jar names in the Maven repo:
> The jars created under target dir have names with groupid included
> alright, as project.build.finalName has been configured.
> Say my jar under target is called "group-artifact-2.0.jar".
>
> But when copied to the Maven repo, where the groupid is represended by a
> containing folder, these jars are renamed with an artifactid-only jar
> name.
> So now my jar in the repo is called "artifact-2.0.jar".
>
> 2. Let Maven deploy plugin rename the repo jar on deployment including
> the groupid in the jar name.
> This would work as well.
> Is there a way to get Maven to do this?
>
> 3. Manually extending artifactid with groupid (dirty).
> Artefactids can disambiguated by including the groupid, of course.
> This introduces a bit of redundancy, though. It does not look nice.
>
> Some hints for the implementation of one of the first approaches would
> be very much appreciated!
> Thanks in advance,
>
> Alex
>

Reply via email to