you need to add an exclusion on the dependency that is being brought in by
profile activation.

It was a mistake that profiles include the <dependency> section as there is
all manor of issues.

The profile gets activated based on the environment where maven is running,
not the environment where the artifact is deployed.

If you have 3rd party deps that use profile activation to pull in
dependencies, you will need to define exclusions on those dependencies...
that will stabilise your build.

If your build uses profile activation to pull in dependencies, that is your
bad, take it out

-Stephen

On 9 December 2010 10:14, Asmann, Roland <[email protected]> wrote:

> On 07.12.2010 11:29, Stephen Connolly wrote:
> > On 7 December 2010 10:14, Asmann, Roland <[email protected]>
> wrote:
> >
> >  > Hi all,
> >  >
> >  > I was wondering if anybody ever had this problem...
> >  >
> >  > I have a customer who is running a machine with a SUN JDK and one with
> >  > an IBM JDK. Now, we've noticed there are some differences between the
> >  > two, so I thought it would be best to release their artefacts for both
> >  > JDKs... Question is, can I do this somehow with Maven in a single
> >  > release-cycle or do I need to make separate releases?
> >  >
> >  >
> > I would consider running the tests twice and have just one set of
> > artifacts... Otherwise you will have a nightmare of a dependency
> management.
>
> I already have this... Yesterday I found out that one of my dependencies
> has a profile that is activated when I use the IBM JDK for building...
> This mad the EAR undeployable on the SUN JDK, because this dependency
> (jaxp) is probably included in the JDK for SUN.
>
> So, I think my best solution would be to run Maven twice on all my
> projects -- once for SUN and once for IBM. Only question is, can I do
> this in a single go and how can I do this in the release-phase...
> >
> > Run the tests first with ibm and second with sun/oracle that way you know
> > your artifacts work on both JREs
>
> As I pointed out, this will not solve my problem completely, because I
> need 2 artifacts!
> >
> >
> >  > Also, they currently have a problem in that they need SUN JDK 6 for
> most
> >  > project, where one single module MUST be built with SUN JDK 5 because
> of
> >  > a change in some classes. They are currently running the
> compiler-plugin
> >  > with a bootclasspath for JDK 5, which isn't beautiful but works. Is
> >  > there a way to have a single module use a different JDK from the
> others?
> >  >
> >
> > Have a look at toolchains. Google is your friend. Toolchains support has
> > been available for a while now, I know because I helped get it into a
> number
> > of plugins.
>
> If this can do what I want, then it might indeed be worth looking at.
> I'll give it a go in bit, I think I have some time today.
> >
> > Another thing you might consider is using
> > animal-sniffer-maven-plu...@mojothat way you can verify that the JRE
> > signatures you use are only public
> > signatures and not internal classes that are not part of the published
> JRE
> > API
> >
> >
>
> --
> Roland Asmann
> Senior Software Engineer
>
> adesso Austria GmbH
> Floridotower 26. Stock              T +43 1 2198790-27
> Floridsdorfer Hauptstr. 1           F +43 1 2198790-927
> A-1210 Wien                         M +43 664 88657566
>                                    E [email protected]
>                                    W www.adesso.at
>
> -------------------------------------------------------------
>             >>> business. people. technology. <<<
> -------------------------------------------------------------
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to