maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Reto Hablützel <ret...@rethab.ch>
Subject Re: maven-ear-plugin silently overrides libraries
Date Fri, 14 Feb 2014 07:11:54 GMT
Thank you, Anders.

I reported the issue: http://jira.codehaus.org/browse/MEAR-180

- Reto


On Fri, Feb 14, 2014 at 7:52 AM, Anders Hammar <anders@hammar.net> wrote:

> You need to create an account at Codehaus Xircles. Go to
> http://jira.codehaus.org and there is more info in the top left hand
> gadget/box.
>
> /Anders
>
>
> On Fri, Feb 14, 2014 at 7:46 AM, Reto Hablützel <rethab@rethab.ch> wrote:
>
> > Is JIRA open for public registration / issue creation? I could not find a
> > link to sign up..
> >
> > Anyways, I attached a sample project. Please follow these steps to
> > recreate the issue (btw. I think the whole naming thing is also a problem
> > if you are referencing two ejbs with the same artifactId and version):
> >
> > Install 'utilities' project in 'collections':
> > collections/utilities> mvn install
> >
> > Install 'utilities' project in 'email':
> > email/utilities> mvn install
> >
> > Package 'ear' project:
> > ear> mvn package
> >
> > Look at contents of ear and notice how only one jar is included:
> > ear> unzip -v target/ear-1.0.0.ear
> >
> > Now use the debug flag to see why only one gets included:
> > ear> mvn --debug clean package
> >
> > Partial output:
> >   [INFO] Copying artifact [jar:ch.rethab.email:utilities:1.0.0] to
> > [utilities-1.0.0.jar]
> >   [DEBUG] Skipping artifact [jar:ch.rethab.collections:utilities:1.0.0],
> > as it is already up to date at [utilities-1.0.0.jar]
> >
> >
> >
> >
> > On Thu, Feb 13, 2014 at 7:32 PM, Baptiste Mathus <bmathus@batmat.net
> >wrote:
> >
> >> That's the way to go. Even more if you're able to attach a test project.
> >> One report without report is far less likely to be worked on.
> >> Cheers
> >> Le 13 févr. 2014 14:06, "Reto Hablützel" <rethab@rethab.ch> a écrit
:
> >>
> >> > So what's the status on this? Shall I create a ticket?
> >> >
> >> >
> >> > On Fri, Feb 7, 2014 at 5:04 PM, Ron Wheeler
> >> > <rwheeler@artifact-software.com>wrote:
> >> >
> >> > > Exclusions will not help in this case.
> >> > > Looking through the dependency hierarchy will at least get you to
> see
> >> the
> >> > > problem earlier which I think was the nature of your question.
> >> > >
> >> > > It appears from my brief reading and fun with making servlets run
in
> >> > > production that classloaders merge classes by name.
> >> > > Maven does not.
> >> > >
> >> > > I am a bit surprised that groupId does not count.
> >> > >
> >> > > If one uses a lot of third -party libraries, it would seem
> inevitable
> >> > that
> >> > > you could need com.artifact-software:utilities:1.0 at the same time
> as
> >> > > ch.rethab:utilities:1.0 at the same time.
> >> > > The classloader is not going to cause any problem but if Maven
> throws
> >> out
> >> > > one of these as a duplicate, you will be missing classes at
> run-time.
> >> > >
> >> > > It is difficult to force everyone to create unique artifactIds
> unless
> >> you
> >> > > get rid of the GroupId altogther and make GAV -> <AV> and
put the
> >> group
> >> > > name into the artifactID.
> >> > >
> >> > > This seems to be a design flaw if it is true.
> >> > >
> >> > > Ron
> >> > >
> >> > >
> >> > > On 07/02/2014 9:43 AM, Reto Hablützel wrote:
> >> > >
> >> > >> Sure, but exclusions don't do the trick if you need both of them,
> do
> >> > >> they? I am talking about completely independent libraries that
> >> happen to
> >> > >> have the same artifactId.
> >> > >>
> >> > >> Those were actually both libraries of mine and I could obviously
> fix
> >> > this
> >> > >> issue rather simply, but I was just thinking that it would be
> >> helpful to
> >> > >> have at least a warning or something from maven - regardless of
the
> >> IDE.
> >> > >>
> >> > >> - Reto
> >> > >>
> >> > >>
> >> > >> On Fri, Feb 7, 2014 at 3:33 PM, Ron Wheeler
> >> <rwheeler@artifact-software.
> >> > >> com <mailto:rwheeler@artifact-software.com>> wrote:
> >> > >>
> >> > >>     If your IDE supports Maven (Eclipse/STS for example), you
will
> >> see
> >> > >>     the conflict in the dependency hierarchy view and you can
fix
> it
> >> > >>     with the right exclusions.
> >> > >>
> >> > >>     It is almost always worth a quick look through the dependency
> >> > >>     hierarchy view if you use a lot of third party libraries.
> >> > >>     Not everyone updates their dependencies when they build a
> >> > >>     shareable library.
> >> > >>     You can sometimes get some pretty old versions of things
> dragged
> >> > >>     in with the latest version of otherwise well-written libraries.
> >> > >>     Exclusions need to be added to get what you want in your
> >> artifacts.
> >> > >>
> >> > >>     Ron
> >> > >>
> >> > >>
> >> > >>     On 07/02/2014 9:21 AM, Reto Hablützel wrote:
> >> > >>
> >> > >>         Hi there,
> >> > >>
> >> > >>         I built an ear using the maven-ear-plugin (version 2.6).
> >> > >>
> >> > >>         The ear is configured such that it includes two libraries
> >> into
> >> > >>         the lib
> >> > >>         folder, both with the same artifactId as well as the same
> >> > >>         version, but a
> >> > >>         different groupId. Now if I simply call 'mvn package'
only
> >> the
> >> > >>         first one is
> >> > >>         included, but no warning whatsoever appears. Only once
I
> turn
> >> > >>         on debugging
> >> > >>         (mvn --debug package), I see one subtle message:
> >> > >>         [DEBUG] Skipping artifact [jar:com.foo:bar:1.0] as it
is
> >> > >>         already up to date
> >> > >>         at [lib/bar-1.0.jar]
> >> > >>
> >> > >>         Wouldn't it make sense to either include the groupId in
the
> >> > >>         filename or at
> >> > >>         least make a check (that includes the groupId) beforehand
> if
> >> > >>         there are any
> >> > >>         conflicts?
> >> > >>
> >> > >>         Cheers,
> >> > >>         Reto
> >> > >>
> >> > >>
> >> > >>
> >> > >>     --     Ron Wheeler
> >> > >>     President
> >> > >>     Artifact Software Inc
> >> > >>     email: rwheeler@artifact-software.com
> >> > >>     <mailto:rwheeler@artifact-software.com>
> >> > >>
> >> > >>     skype: ronaldmwheeler
> >> > >>     phone: 866-970-2435, ext 102
> >> > >>
> >> > >>
> >> > >>
> >> > ---------------------------------------------------------------------
> >> > >>     To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> >> > >>     <mailto:users-unsubscribe@maven.apache.org>
> >> > >>
> >> > >>     For additional commands, e-mail: users-help@maven.apache.org
> >> > >>     <mailto:users-help@maven.apache.org>
> >> > >>
> >> > >>
> >> > >>
> >> > >
> >> > > --
> >> > > Ron Wheeler
> >> > > President
> >> > > Artifact Software Inc
> >> > > email: rwheeler@artifact-software.com
> >> > > skype: ronaldmwheeler
> >> > > phone: 866-970-2435, ext 102
> >> > >
> >> > >
> >> >
> >>
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> > For additional commands, e-mail: users-help@maven.apache.org
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message