maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Anders Hammar <and...@hammar.net>
Subject Re: maven-ear-plugin silently overrides libraries
Date Fri, 14 Feb 2014 06:52:15 GMT
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