There was a research implementation to write Solaris drivers in Java.
https://dl.acm.org/doi/10.1145/1215995.1215998
The Sun network computing thin clients had plenty of Java into them.
The classical UNIX does one thing well myth was hardly followed by all major UNIX vendors.
One thing I never understood was why I couldn’t just write some Java, compile it [0], and hand the result to someone else on a Solaris system, and have them run it.
Sure, they may know how to run “java -jar myapp.jar”, but why was that necessary? Why couldn’t it be a standalone executable, that didn’t require the end user to know in advance that it was written in Java and to invoke it accordingly?
Every single bit of Java software I ever used on Solaris always had some sort of shell script wrapping it. I never understood why the operating system couldn’t just natively execute Java code… they literally wrote the entire operating system, language, compiler, toolchain, etc, and the end result wasn’t usable without arcane wrapper scripts and JAVA_HOME conventions and so forth. Windows managed to make it work with .NET (they were just .exe’s like everything else), I always thought like Sun could have done so much better with the end-user experience with running Java software.
[0] for any loose, reasonable definition of “compile”. I’m not saying it can’t be byte code, that’s fine… I just don’t want to have to care. I should be able to copy it to /usr/bin and just run it without having to invoke “java -jar”, or use some weird self-extracting shell script trick. And I shouldn’t have to care about whether the person I’m distributing it to has Java installed, because it should have always been the case that a given SunOS machine should have a working Java install… the same company made the OS and the language for chrissakes, every SunOS installation should have had it as a mandatory component.
(To be fair, these could be defended, very slightly, on the grounds that Java is a cross-platform language, even though other cross-platform languages have better answers. But then I'd raise the point about Java corrupting RLIMIT_FILES for processes it starts....)