Hi Mark,

I don't think there is any guarantee for ordering in Maven. The
dependencies are not ordered, the plugins in the build section are not
ordered. I remember that with a Java upgrade the plugins were executed in a
different ordering due to a new implementation of HashMap. (Only the
plugins in the same phase in a lifecycle, of course). The only thing
ordered are the phases in the lifecycle.

I think it would be more feasible to make sure you don't have dependencies
with overlapping classes (you can use the Maven Enforcer Plugin for
that[1]). If you really need those 2 dependencies on the classpath, maybe
you can try something with the Maven Shade Plugin, to give one of those
dependencies their unique package names[2].

[1] https://www.mojohaus.org/extra-enforcer-rules/banDuplicateClasses.html
[2]
https://maven.apache.org/plugins/maven-shade-plugin/examples/class-relocation.html

Hth,

Nick Stolwijk

~~~ Try to leave this world a little better than you found it and, when
your turn comes to die, you can die happy in feeling that at any rate you
have not wasted your time but have done your best ~~~

Lord Baden-Powell


On Fri, 28 Jul 2023 at 21:25, <[email protected]> wrote:

> I already asked this question on Stack Overflow but got no takers so I'm
> trying again here:
>
> Suppose I have a maven module M which declares a direct dependency on
> modules X and Y.
> I want the classes from X to come before classes from Y in the class path.
> Is there any easy way to add a rule in maven enforcer to ensure that I
> don't accidentally swap the order sometime in the future?
>
> Copied from here:
>
> https://stackoverflow.com/questions/76766623/maven-enforcer-enforce-class-path-order
>
>
> This message is for information purposes only. It is not a recommendation,
> advice, offer or solicitation to buy or sell a product or service, nor an
> official confirmation of any transaction. It is directed at persons who are
> professionals and is intended for the recipient(s) only. It is not directed
> at retail customers. This message is subject to the terms at:
> https://www.cib.barclays/disclosures/web-and-email-disclaimer.html.
>
> For important disclosures, please see:
> https://www.cib.barclays/disclosures/sales-and-trading-disclaimer.html
> regarding marketing commentary from Barclays Sales and/or Trading desks,
> who are active market participants;
> https://www.cib.barclays/disclosures/barclays-global-markets-disclosures.html
> regarding our standard terms for Barclays Corporate and Investment Bank
> where we trade with you in principal-to-principal wholesale markets
> transactions; and in respect to Barclays Research, including disclosures
> relating to specific issuers, see: http://publicresearch.barclays.com.
> __________________________________________________________________________________
>
> If you are incorporated or operating in Australia, read these important
> disclosures:
> https://www.cib.barclays/disclosures/important-disclosures-asia-pacific.html
> .
>
> __________________________________________________________________________________
> For more details about how we use personal information, see our privacy
> notice: https://www.cib.barclays/disclosures/personal-information-use.html.
>
>
> __________________________________________________________________________________
>

Reply via email to