Imagine:
- small custom tool in #Python2 / #Jython, bundled to an .exe
- Last time bundled was a few years back
- executable used on CI server

Then:
- suddenly all builds across the Server fail 😳
- The CI server and your own PC fail executing your small tool, saying "This application needs #Java 8" πŸ€”
- But your CI Server and own PC _have_ Java 8 installed 🀨
- The fellas around you have seemingly the same tools installed and can execute the tool 🧐

#programming #magic #CI

Solution:
Re-Compile & Bundle your tool without changing anything on its source. πŸ™ƒ

Suddenly your PC can run it again aswell.
What the heck happened? 🀷🏼

I assume there had to be some kind of Windows Update, settings difference, idk that made the one system fail, while others didn't?
Very frustrating, when you find a work-around/fix, but don't know what caused the issue in the first place, or _why_ your workaround works πŸ˜Άβ€πŸŒ«οΈ

@9Lukas5
sounds like dependency hell

@wobweger Yup, definitely. But it *should* just be a simple Jython code, bundled a few years back on a Java 1.8 JDK => be a 1.8 compatible Java Bytecode.

Don't ask me why it suddenly refused to execute saying it needs 1.8 Java, when its clearly there 🀷

And the most confusing part is, that the two people have the exact same Java 1.8 JRE (and I really mean same, as in also same Update of that 1.8 JRE), but it stills fails to work on one of them, but works on the other πŸ₯΄

@9Lukas5 Did you have any changes in you `JAVA_HOME` environment variable and/or `PATH` environment variable ? If Java 8 is issing from the second one, it may not work. But most of the time, `PATH` includes `%JAVA_HOME%\bin` and if `JAVA_HOME` has been changed, your application doesn't work.
Another option is to run `where java` which will list (in order) the various java versions available in Windows.

@Riduidel nope, we checked that.
We compared our paths and Java home variables and even switched them around in attempt to break the still working machine.
But the broken stayed broken and the other kept working.

The only possible difference we were able to spot*: the still working machine had a pending Windows update, that wouldn't install with some error.

Soooo, only the Redmond Devils may know what has changed? πŸ™ƒ

*there still could be other unknown diffs we just didn't discover yet πŸ’πŸΌ

@9Lukas5 Never attribute to redmond what can be attributed to lack of knowledge.
Have you got the source code of the Jython bootstrap code ? (in other words, how does Jython JVM is found ? Does it use any kind of custom code ?)

@Riduidel That deep I haven't gotten the chance yet to dig (and falls honestly not into my responsibility^^).😬
But as I noted, there are possible differences we just didn't get to. πŸ’πŸΌ

We just know it worked one day and stopped the other, without anyone intentionally changing anything on their runtime setups^^ 🀷🏼

@9Lukas5 It's time to say the most feared word of all related to Windows : it can have something to do with ... the registry