I’m getting back to this because (a) I’m still confused and (b) I had a local 
disaster which kept me form getting back to it

> On 13 Dec 2021, at 04:02, Steven Smith <[email protected]> wrote:
> 
> Java figures out which version to use from JAVA_HOME or 
> /Library/Java/JavaVirtualMachines. Are you sure that’s not a MacPorts version?

Actually, both my machines have Oracle Java 8 version 311 installed it turns 
out. On both systems the Java panel started via System Preferences says it is 
“Java 8 version 311”. This version, it seems, will get Oracle patches until 
2030 (https://en.wikipedia.org/wiki/Java_version_history). But these are only 
installed as Internet Plugins

gerben@hermione Contents % /Library/Internet\ 
Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version 
java version "1.8.0_311"
Java(TM) SE Runtime Environment (build 1.8.0_311-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.311-b11, mixed mode)

Neither machine has MacPorts openjdk so far. I was asking all of this because I 
was looking into my Java situation. 

But...

on Mojave:
albus:~sysbh$ which java
/usr/bin/java

albus:~ sysbh$ `which java` -version
java version "12.0.2" 2019-07-16
Java(TM) SE Runtime Environment (build 12.0.2+10)
Java HotSpot(TM) 64-Bit Server VM (build 12.0.2+10, mixed mode, sharing)

albus:~ sysbh$ ls -l /usr/bin/java
lrwxr-xr-x  1 root  wheel  74 Aug 10  2019 /usr/bin/java -> 
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

(10 aug 2019 last symlink creation. By whom? My guess was this was still Apple)

albus:~ sysbh$ ls -l /Library/Java/JavaVirtualMachines/
total 0
drwxr-xr-x  3 root  wheel  96 Sep  8  2019 jdk-12.0.2.jdk


on Catalina:
gerben@hermione ~ % which java
/usr/bin/java

gerben@hermione ~ % `which java` -version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)

gerben@hermione ~ % ls -l /usr/bin/java
lrwxr-xr-x  1 root  wheel  74 Jan  2  2021 /usr/bin/java -> 
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

(Jan 2 2021 last symlink creation. By whom? My guess: still Apple)

gerben@hermione ~ % ls -l 
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
-rwxr-xr-x  1 root  wheel  38880 Sep 21  2020 
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

gerben@hermione ~ % ls -l /Library/Java/JavaVirtualMachines 
total 0
drwxr-xr-x@ 3 root  wheel  96 Aug 24  2013 jdk1.7.0_25.jdk

Now I am completely confused. Both systems should have Oracle Java 8 installed, 
version 311. But the older system has Java 12 and the newer system has Java 7??

But it doesn’t explain stuff like a Sep 21 2020 java binary that is version 7.

And both are not the same binary:

gerben@hermione Contents % 
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java 
-version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
gerben@hermione Contents % 
/Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home/bin/java 
-version 
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
gerben@hermione Contents % cmp 
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java 
/Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home/bin/java
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java 
/Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home/bin/java 
differ: char 12, line 1

So far my guess is that those non-recently-updated-Oracle-java8’s are 
leftovers, e.g. from older iTunes-related software (which, as it was for both 
Windows and macOS was probably fully java).

One of those leftovers has been picked up as the java to use by MacPorts 
apache-solr8

Basically, this means I probably should try to clean out those old java’s and 
make sure solr8 uses a recent one. Maybe move to openjdk via MacPorts.

G

PS. Apple still ships (embedded) javas. E.g.

gerben@hermione ~ % 
/Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Versions/A/itms/java/bin/java
 -version
openjdk version "14.0.2" 2020-07-14
OpenJDK Runtime Environment 14.0.2-5906ce1373 (build 14.0.2+12-iTunesOpenJDK-5)
OpenJDK 64-Bit Server VM 14.0.2-5906ce1373 (build 14.0.2+12-iTunesOpenJDK-5, 
mixed mode)

or 

gerben@hermione ~ % '/Applications/iTunes 
Producer.app/Contents/itms/java/bin/java' -version
openjdk version "1.7.0-internal"
OpenJDK Runtime Environment (build 1.7.0-internal-root_2015_05_12_09_52-b00)
OpenJDK 64-Bit Server VM (build 24.80-b07, mixed mode)

(That one also has an older log4j…). Seems even Apple has its problems with LCM.

Reply via email to