Well, Guillaume's work kind of solves that...but still, even with gradle, toolchains are a nightmare for most users so it is quite common to end with the same jdk to build and run.
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 jeu. 1 juin 2023 à 14:12, Christoph Läubrich <m...@laeubi-soft.de> a écrit : > > Does Maven miss some features > > Just look at how gradle support toolchains: > > https://docs.gradle.org/current/userguide/toolchains.html > > That's all shows what maven refuses to support and leaving people think > its easier to use the same JVM "from beginning to end": > > 1) First class declarative central configuration (no need to configure > it here and there) > 2) automatic discovery of installed toolchains > 3) Support for automatically download if a matching one if not found > > All this has nothing to do with that is is *possible* to do so in maven > as well, it is just not *convenient* to do so and as its is not *easy* > as well (you can just miss a thing) people are skeptical and try to "be > sure" by using the same JVM from start-to-end... > > > Am 01.06.23 um 14:00 schrieb Tamás Cservenák: > > Howdy, > > > > From recent discussions I see an interesting pattern: it seems that > people > > (even our PMCs) are using Maven in a way that is making sure that "same > > Java version" (I guess vendor + version) is used from "beginning" to > "end". > > > > And "beginning" here means BUILDING (think workstations and CI and so > on), > > while "end" means PRODUCTION (deploying the stuff into production). > > > > Why is that? > > > > We all know that even before this "speedup" of Java releases (so to say, > up > > to Java 8) we did put extra effort into supporting this (running Maven on > > different Java versions and producing another bytecode output). One can: > > - use source/target compiler flags + animal sniffer (if on Java 8 or > older) > > - use release compiler flag (if Java9+ used) > > - use toolchains > > > > Why does any of these above "does not work" for those "aligning Java from > > beginning to end"? > > > > With today's tools like sdkman, jenv, homebrew, jbang, mvnw (and who > knows > > what) it is REALLY HARD to miss the automation of getting JDKs and tools > > (and keeping them up to date!!!) on workstations and CIs (deployment not > > counted here, but hopefully it is automated as well). > > > > Another point is that upcoming Maven 4 has tremendous improvements > > targeting toolchains. > > > > Finally, a bit of digression, but very much related thing: as Niels > > showcased on other thread in > > https://github.com/nielsbasjes/ToolChainsInCiBuilds > > > > The CI "matrix" build's Java version part can be moved into Maven itself. > > Personally, I always hated "matrix" as they explode very easily (size > wise) > > but in MOST cases they really just "warm the oceans" (from HB) and do not > > do anything useful. I do keep _matrix useful_ for OS variations, but to > > rebuild the same commit over and over with Java8, Java11, Java17 only to > > "be sure" it will work, is really an overkill (and very wasteful). The > > added beauty of applying this pattern is that one can perform the whole > > build and testing (using different Javas) even on their own workstations. > > > > Does Maven miss some features (aside from those above) to make it > possible > > for those "aligning" Java versions to move? > > > > Thanks > > T > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > For additional commands, e-mail: dev-h...@maven.apache.org > >