clj-on-windows

For those interested in making clj on Windows https://dev.clojure.org/jira/browse/TDEPS-67. Also see https://github.com/littleli/scoop-clojure.
littleli 2020-01-20T21:02:15.024300Z

trying REBL on my Windows box. So far so good. I didn't have opportunity to try it before. @seancorfield you can check if you want. I updated manifest to the newest Clojure installation (1.10.1.502).

2020-01-20T21:50:14.025700Z

@ales.najmann which jdk did you try with?

littleli 2020-01-20T21:54:16.025900Z

adoptopenjdk-lts-hotspot from java bucket

2020-01-20T21:57:27.026100Z

thanks. just got that working. haven't had much luck with the jdk8 line of things yet. may be there are some missing bits.

2020-01-20T21:57:52.026300Z

btw, do you use anything to switch among various jdks? apart from manually setting env vars, that is.

littleli 2020-01-20T22:03:47.026700Z

Not on Windows, there I just stick to 11 LTS. On Mac I swithc between versions using JAVA_HOME and changing symlinks from time to time when I really need something extra.

2020-01-20T22:05:47.026900Z

thanks!

littleli 2020-01-20T22:11:10.027100Z

I don't specifically plan to return back to 8. Company just upgraded to 11 at minimum. Graalvm is released for Java 11. And I no longer develop for Android. So no reasons.

2020-01-20T22:26:20.027400Z

nice unfortunately, to do building of things like babashka, i still have to use 8

seancorfield 2020-01-20T22:31:02.027600Z

I used the Azul OpenJDK 8 w/JFX bundle for REBL.

seancorfield 2020-01-20T22:31:29.027800Z

Now I'm on Adopt OpenJDK 11 so I just use the OpenJFX 11 dependencies.

littleli 2020-01-20T22:31:44.028Z

yes, that works nicely

seancorfield 2020-01-20T22:33:04.028200Z

FWIW, I have a few legacy processes that require JDK 8 so I use JAVA_HOME on macOS to select 8 for those in their startup scripts locally and in Tomcat's bin/setenv.sh on the two servers that need that.

2020-01-20T22:38:24.028400Z

@seancorfield thanks for mentioning azul's offerring i will try that. for switching environments in *nix environments there seem to be a number of options (though i didn't like jenv or sdkman very much). i've been using graal's select_jdk.py with a tweak or two (this doesn't really work for windows' cmd.exe or ps afaict) tomcat's bin/setenv.sh doesn't handle use from cmd.exe or powershell does it?

2020-01-20T22:39:57.028600Z

ah may be there is a setenv.bat...

seancorfield 2020-01-20T22:40:02.028800Z

No idea. All our servers are Linux and my current primary dev env is macOS.

2020-01-20T22:40:19.029Z

tnx

seancorfield 2020-01-20T22:41:07.029200Z

We only recently upgraded from Adopt OpenJDK 8 to Adopt OpenJDK 11 on QA/production -- so many libraries and server packages we used took a long time to be JDK 9+ compatible 😞

seancorfield 2020-01-20T22:41:27.029400Z

Now, only our legacy CFML apps require JDK 8 🙂

2020-01-20T22:58:21.029600Z

going from 8 to 11 seems to have been bumpy...is it related largely to the module-related changes?

2020-01-20T22:58:54.029800Z

ah, the zulu openjdk8 + fx seems to work on windows with rebl :thumbsup: thanks again for the tip.

seancorfield 2020-01-20T23:37:15.030100Z

8 to 9 was really the big jump (due to modules, yes, specifically the change around the core JDK). 9 onward has been relatively straightforward. Another set of changes for us -- again 8 to 9 -- was the overall of GC logging so the set of options we used to start the JVM (for years) caused the JVM to not start because they'd made several long-standing options illegal (and there was no legal set of overlapping options we could use on both 8 and 9 so it was a painful upgrade because we had to do a bunch of manual changes around a JVM restart).

seancorfield 2020-01-20T23:38:11.030300Z

We'd been testing against 11 on and off for about a year I think (but hadn't tested all the production JVM options -- that was my bad!) so we'd been slowly tracking toward compatibility.