Is there any real issue with each developer and ev...
# random
c
Is there any real issue with each developer and even CI using a different "flavor" of java even if the major version is the same? For example... I always use azul zulu (i think mostly because it was first to have native m1 macbook support without rosetta). Some folks use sdkman and w/e they find with that. Some folks on my team that are in aws land, have aws's java (coretto?). and CI is github and uses the default template for setting up jdk (temurin)
s
Temurin is pretty much the standard go-to distribution of the past. Now with Azul and JetBrains partnership it makes sense to switch to that. I did so, too. It really works a bit better. Amazon uses Coretto because they tailored their distribution to their cloud computing needs.
c
oh. didn't hear of azul <> jetbrains partnership. i will see if its easy to move our github runners to using it
temurin is funny because ive never heard of it outside of github actions
j
👀 1
s
I am already there. Works great.
t
In the same topic: I always wondered why all these SDKs, in practice for android development, is there any difference? 👀
s
Yes, of course. Some JDK distributions are optimized for server or backend use (like Corretto), while others are more suited for desktop environments (like Azul). Temurin aims to strike a balance as a general-purpose option, making it a solid default choice when the intended use isn’t clearly defined. That’s likely why GitHub uses it as the default.
gratitude thank you 1
For Android just stick with Temurin (Adoptium). The others don't give you something extra. For bundling with a Desktop app I higly recommend Azul Zulu now.
e
AdoptOpenJDK was one of the first common free OpenJDK binary distributions outside of Sun/Oracle, backed by RedHat, IBM, and many others, stemming from changes in Oracle's JDK and OpenJDK release and support. Later AdoptOpenJDK was moved to the Eclipse Foundation, the project was renamed Adoptium, and the product was renamed Temurin. It's been the default almost everywhere I've seen for years.
✅ 1
if you're on AWS then you might as well use Corretto since you get Amazon supporting it, and there are other reasons to use JBR, Zulu, Zing, OpenJ9… (well ok the biggest reason I've ever seen to using j9 is "you work for IBM and you're required to")
as far as developers using different JDKs, it mostly doesn't matter
I think it might result in cache misses if you're using a shared build cache, and if one developer actually adds dependencies on the unique parts of their JDK (such as https://github.com/JetBrains/JetBrainsRuntimeApi) then well, that won't work for anybody on a different JDK
but if you're working on Android then you're not even using boot classpath from the JDK anyway, it's all controlled by the Android SDK
c
i am indeed working on android. i would have thought there was some difference if im using a different jdk vs my teammate vs github. but i guess i shouldn't worry (or even dictate) which jdk we're using? most of this started because my manager wanted me to redo our onboarding README and add specifics about jdk flavor + version
s
If working in a team it always makes sense if everybody uses the same JDK, IDE, etc. to avoid side effects coming from differences in that. If everyone has a different JDK you may see yourself hunting down a bug that you can’t reproduce because it’s behavior related to a specific JDK version. Different IDEs may have slightly different formatting. So your managers request makes sense.