From your first paragraph I’d guess you would be on the “maven built on a 
recent LTS java” side.  I was wondering, given these omnipresent IDES,  and 
possibly from a philosophical perspective, what the arguments for “maven built 
on an antique JVM” would be.

Thanks
David Jencks

> On Feb 20, 2024, at 8:10 PM, Hunter C Payne 
> <hunterpayne2...@yahoo.com.INVALID> wrote:
> 
> IDEs, including the 2 you named, have a configuration system for multiple 
> JDKs.  This allows devs to build for multiple versions of the JVM.  Likewise, 
> Maven has multiple ways to configure multiple JDKs for use by different 
> phases or plugins used in a given compilation setup and to target different 
> versions of the JVM.  Javac can target any older version than itself when 
> compiling to classfiles.  So my JDK 17 can compile for Java 8-17 but not 18 
> or higher.
> 
> On the JVM, packaging is just a jar and inside that jar's classfiles will be 
> a specific minimum version of the JVM required for it to run.  Generally 
> speaking, for a variety of reasons, most Java code is backwards compatible to 
> Java 8 which was released about 15 years ago.  No specific code is that 
> backwards compatible but most of it is.  That's why you don't realize that 
> these things exist.  Because unless you are a professional developer, why 
> would you ever care in a language with 15 years of backwards compatibility 
> baked into the culture and large base of 3rd party code.  Hope this answers 
> your question.
> 
> Hunter
> 
>    On Tuesday, February 20, 2024 at 08:01:27 PM PST, David Jencks 
> <david.a.jen...@gmail.com> wrote:  
> 
> I’ve been wondering for some time… My uninformed impression is that most 
> corporate development uses Eclipse or IntilliJ, which I believe run only on 
> the java version they come packaged with, which presumably is not usually the 
> target java version for the code being developed.  Aside from packaging 
> questions (IIUC there’s no way for the maven project to ship a java 
> implementation), why should Maven be different?
> 
> Thanks
> David Jencks
> 
>> On Feb 20, 2024, at 1:30 PM, Tamás Cservenák <ta...@cservenak.net> wrote:
>> 
>> Romain,
>> 
>> you immediately revealed your WHY:
>> Take off your "paid dev" hat, and please try again.
>> 
>> We ARE an open source project.
>> So it IS about us, the volunteers.
>> Is not about THEM, downstream users.
>> 
>> As it was told a million times:
>> if they are stuck (due whatever policy or who knows what), they can just
>> stay with 3.9, 3.8 or whatever suits them.
>> Why align with the "stuck" ones?
>> 
>> T
>> 
>> PS: and no, I just collected the last release VOTEs w/ Herve responses on
>> ML. If you consider that biased, then you have a problem ;)
>> 
>> 
>> 
>> On Tue, Feb 20, 2024 at 10:18 PM Romain Manni-Bucau <rmannibu...@gmail.com>
>> wrote:
>> 
>>>> I am sure the majority of Maven users do not run Maven on the same Java
>>> version they target with their build.
>>> 
>>> Do you use that and the following figures to do a biased conclusion?
>>> 
>>> "If people don't use the same version then we can higher the version"?
>>> 
>>> I think we need to consider two things:
>>> 
>>> * We are OSS dev so not representative of the majority - in a company you
>>> most of the time use the same version you target and want to run that, just
>>> either laziness, policy or quality (building with different versions can
>>> lead to surprises and falsy passing tests = broken prod), sadly it is hard
>>> to find data there but I'm pretty sure it is a common experience
>>> * Guess there is a "use the first matching version I have" in the stats you
>>> mention, so if you target 11 and have 17 you would use 17 but does not mean
>>> you are ok to run 21 (random numbers, move them a bit to be a counter
>>> example on whatever digit you want for maven 4)
>>> * Guess very few people want to have >= 1 JDK
>>> 
>>> So clearly the question is not the latest LTS which would be for me just a
>>> moving version we can't support and would be bad for our end users IMHO but
>>> only the version we pick to start at 4.0.0.
>>> Choices stay:
>>> 
>>> * Latest LTS at that moment to start fresh and not inherit from a legacy at
>>> day 0
>>> * Latest LTS - 1 - which would enable to cover more projects and get more
>>> adoptions
>>> * Something older but I don't find any valid reason since people skipping 2
>>> LTS will likely never reach maven 4 before we discuss to move our baseline
>>> again.
>>> 
>>> The other question we should probably anticipate is when do we move our
>>> support version range.
>>> Since java is not more predictable in terms of releases I think it can make
>>> sense to target for "new" releases only 2 (maybe 3 but really unsure?) LTS
>>> - indeed with best effort on later versions but no guarantee upfront.
>>> With such a policy calendar can be communicated and people can follow or
>>> not without surprises.
>>> 
>>> So today, since we don't have yet a final I think 21 can make sense but not
>>> cause it is the current latest, cause it will likely be the ~N-1 at 4.0.0
>>> time.
>>> 
>>> Romain Manni-Bucau
>>> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
>>> <https://rmannibucau.metawerx.net/> | Old Blog
>>> <http://rmannibucau.wordpress.com> | Github <
>>> https://github.com/rmannibucau> |
>>> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
>>> <
>>> https://www.packtpub.com/application-development/java-ee-8-high-performance
>>>> 
>>> 
>>> 
>>> Le mar. 20 févr. 2024 à 21:50, Tamás Cservenák <ta...@cservenak.net> a
>>> écrit :
>>> 
>>>> Howdy,
>>>> 
>>>> I intentionally used "Maven" here, and not "Maven 4" as I am sure the
>>>> majority of Maven users do not run Maven on the same Java version they
>>>> target with their build. We do not do that either.
>>>> 
>>>> Some snippets from Herve (who is the ONLY one doing reproducible checks,
>>>> kudos for that) votes:
>>>> 
>>>> Sun, Feb 18, 2024, 9:38 AM
>>>> [VOTE] Release Apache Maven Shade Plugin version 3.5.2
>>>> Reproducible Build ok: reference build done with JDK 11 on *nix
>>>> 
>>>> Wed, Jan 31, 2024, 5:06 AM
>>>> [VOTE] Release Apache Maven JLink Plugin version 3.2.0
>>>> Reproducible Builds ok: reference build done on *nix with JDK 21 and
>>> umask
>>>> 022
>>>> 
>>>> Mon, Jan 8, 2024, 8:29 AM
>>>> [VOTE] Release Maven Plugin Tools version 3.11.0
>>>> Reproducible Builds ok: reference build done with JDK 8 on Windows with
>>>> umask
>>>> 
>>>> Mon, Dec 18, 2023, 8:59 AM
>>>> [VOTE] Release Apache Maven Compiler Plugin version 3.12.0
>>>> Reproducible Builds ok: reference build done on *nix with JDK 21 and
>>> umask
>>>> 022
>>>> 
>>>> Mon, Dec 18, 2023, 8:59 AM
>>>> [VOTE] Release Apache Maven Compiler Plugin version 3.12.0
>>>> Reproducible Builds ok: reference build done on *nix with JDK 21 and
>>> umask
>>>> 022
>>>> 
>>>> Wed, Nov 29, 2023, 8:16 AM
>>>> [VOTE] Apache Maven Build Cache Extension 1.1.0
>>>> Reproducible Build ok: reference build done on *nix with JDK 11
>>>> 
>>>> Sun, Nov 19, 2023, 5:17 PM
>>>> [VOTE] Release Maven Resolver 1.9.17
>>>> Reproducible Build ok: reference build done with JDK 21 on *nix with
>>> umask
>>>> 022
>>>> 
>>>> Sat, Oct 21, 2023, 4:34 PM
>>>> VOTE] Apache Maven 4.0.0-alpha-8 release
>>>> Reproducible Build ok: reference build done with JDK 21 on *nix with
>>> umask
>>>> 022
>>>> 
>>>> Mon, Oct 2, 2023, 9:11 AM
>>>> [VOTE] Release Apache Maven 3.9.5
>>>> Reproducible not fully ok: reference build done with JDK 17 on *nix and
>>>> umask 022
>>>> 
>>>> ====
>>>> 
>>>> This CLEARLY shows the tendency:
>>>> - Michael does releases on Java 8 (on windows!), he is a known "aligner"
>>>> and windows person :)
>>>> - Olivier used the "minimum" required Java version (for build cache).
>>>> - Unsure why Herve used Java 11 for the Shade plugin... I mean, he could
>>>> use 21 but also 8, but he shot for 11 that was EOL at the moment of
>>>> release.
>>>> - The rest is 21.
>>>> 
>>>> ====
>>>> 
>>>> So, the question for those refusing anything other than Java 8 to _run_
>>>> Maven (or to revert: for those refusing to run Maven on "latest LTS",
>>> that
>>>> is currently 21):
>>>> WHY?
>>>> 
>>>> 
>>>> Thanks
>>>> T
>>>> 
>>> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> For additional commands, e-mail: dev-h...@maven.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to