1

Due to Oracle's shenanigans, our organization has decided to remove JRE from all computers under our maintenance contract. They've also decided to not replace it with OpenJDK JRE, so I've been tasked with gathering information about this change. In particular, I need to figure out what will break.

In order to do so, I need to find what computers on our network (including multiple domains) are currently using java/running java as a process. Is there a way to do this without using third-party applications, or do we need to just start on scripting this out for monitoring?

All workstations are running W10 1803 or newer, there are ~200 workstations, spread across 13 different domains.

Harry Johnston
  • 5,875
  • 4
  • 35
  • 52
  • The problem is that it isn't sufficient to just look to see who is actively running Java code right now, you need to detect every time a Java instance is started even if it finishes a split second later. If you can't use third-party solutions, [this approach](https://superuser.com/a/603488/96662) might be an option. Hopefully someone else will have a better answer. – Harry Johnston Aug 06 '19 at 20:04
  • It would be better to look for computers where Java is *installed*, even if not actually running; finding installed software is a lot easier than scanning running processes, and since you need to uninstall it, searching for Java installations is not only easier, but it also makes more sense. – Massimo Aug 06 '19 at 20:23
  • However, doing so without any management suite such as SCCM is quite tricky; it's one of the many reasons why companies usually employ those. – Massimo Aug 06 '19 at 20:25
  • @Massimo, I think the goal here is to figure out what will break when the JRE is uninstalled, rather than to actually uninstall it just yet. And it is quite likely installed everywhere, whether it is needed or not. OP, can you clarify? – Harry Johnston Aug 06 '19 at 21:26
  • 1
    `Due to Oracle's shenanigans` - I wouldn't call them shenanigans. Oracle has every right to be paid for their work and intellectual property, just like you and I do. It may be unpopular and a huge inconvenience, but it isn't shenanigans. That being said, you could use this to inventory your systems and find out where JRE or JDK is installed - https://www.pdq.com/pdq-inventory/ – joeqwerty Aug 07 '19 at 01:40
  • @joeqwerty, this sort of profiteering is certainly legal, but [widely considered morally dubious.](https://en.wikipedia.org/wiki/Martin_Shkreli) Shenanigans doesn't seem too strong a word. – Harry Johnston Aug 07 '19 at 21:35
  • @HarryJohnston The OpenJDK is free software (GPL+classpath exception), and it has been so since 2006. If a company decides not to use it, it's their problem, and it's due to their lack of understanding the Java license, not Oracle's "shenanigans". Recommended reading (as well as other blog posts from the same author): https://blog.joda.org/2018/08/java-is-still-available-at-zero-cost.html. See also https://www.azul.com/products/zulu-community/free-jdk-comparison-matrix/ –  Aug 11 '19 at 20:07
  • This might be helpful: https://superuser.com/questions/603226/does-windows-log-programs-that-have-been-run-called –  Aug 11 '19 at 20:12
  • @Jean-ClaudeArbaut, last I checked, the open source releases weren't fully compatible with the proprietary JRE. Looks like things may have improved considerably since I looked into it last year - for example, AdoptOpenJDK now has an installer which will optionally create JavaSoft registry keys for you - but I don't think we're at a point where you can pull the JRE out, put an open source version in, and just assume everything will work. (For example, see the [AdoptOpenJDK migration guide](https://adoptopenjdk.net/migration.html), or the comparison matrix in your second link.) – Harry Johnston Aug 11 '19 at 21:35
  • @HarryJohnston Possibly. But my limited experience tells me there is another, much more annoying problem than switching to OpenJDK: some (not many) internal apps at my place rely on Java Web Start. It was removed in Java 11. Sooner or later this will mean a complete rewrite of something, instead of just porting to OpenJDK. Anyway, these are not reasons to refuse installing the OpenJDK (vs no Java at all). –  Aug 11 '19 at 21:50
  • @Jean-ClaudeArbaut, AdoptOpenJDK 8 includes optional JNLP support (under the name IcedTea-Web) if that's any help. But yes, that's still only a stopgap solution. At least it's your own code; I need to be able to run Java Web Start applications that are embedded into out-of-support third-party hardware. :-) – Harry Johnston Aug 11 '19 at 22:02
  • @HarryJohnston, I'd really not thought about that, thank you for your input. And you're correct in that I'm trying to figure out what's going to break when we start uninstalling things. – DeathNTaxesNTaxes Aug 13 '19 at 12:19

0 Answers0