Difference between revisions of "Default Java on Mint Linux"

From Free Knowledge Base- The DUCK Project: information for everyone
Jump to: navigation, search
(Created page with "or how to configure the default Java on Linux Mint when more than one version is installed. Also, how to get rid of ugly IBM Java old crappy version. Ubuntu / Mint needs som...")
 
m
Line 8: Line 8:
 
The Ubuntu / Mint insists on having either OpenJDK or IBM Java on the system.  Even if you install Oracle Java (real Java) you will still have one of the others unless you really go in and start ripping things out manually, which can be a bad thing.
 
The Ubuntu / Mint insists on having either OpenJDK or IBM Java on the system.  Even if you install Oracle Java (real Java) you will still have one of the others unless you really go in and start ripping things out manually, which can be a bad thing.
  
Got lots of Java binaries floating around?  Java bin here and there, multiple versions, finding out that OpenJDK version 11 hates Minecraft or other games?
+
Got lots of Java binaries floating around?  Java bin here and there, multiple versions, finding out that OpenJDK version 11 hates [[Minecraft]] or other games?
  
 
You can have more than one version on the system.  You can configure your software to pick a specific version.  However, the system references a default Java binary in the absence of a specific path and sometimes dependencies of the Java application will, even when launched specifically from the command line, refer to the default configured system.
 
You can have more than one version on the system.  You can configure your software to pick a specific version.  However, the system references a default Java binary in the absence of a specific path and sometimes dependencies of the Java application will, even when launched specifically from the command line, refer to the default configured system.

Revision as of 23:32, 25 October 2019

or how to configure the default Java on Linux Mint when more than one version is installed.

Also, how to get rid of ugly IBM Java old crappy version.

Ubuntu / Mint needs some kind of Java for software like LibreOffice to function. In the absence of Oracle or OpenJDK it will, without asking you, install ibm-java80-jre which is compatible with very little today. Get rid of it...

sudo apt remove ibm-java80-jre

The Ubuntu / Mint insists on having either OpenJDK or IBM Java on the system. Even if you install Oracle Java (real Java) you will still have one of the others unless you really go in and start ripping things out manually, which can be a bad thing.

Got lots of Java binaries floating around? Java bin here and there, multiple versions, finding out that OpenJDK version 11 hates Minecraft or other games?

You can have more than one version on the system. You can configure your software to pick a specific version. However, the system references a default Java binary in the absence of a specific path and sometimes dependencies of the Java application will, even when launched specifically from the command line, refer to the default configured system.

 /usr/bin/java -jar somesoftware.jar

YOU CAN USE A SYSTEM COMMAND TO SET THE DEFAULT JAVA PREFERENCE

update-alternatives --config java

You will see something like this:

here are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      manual mode
* 2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode

The minecraft launcher is not popular with OpenJDK 11 however works well with OpenJDK 8.

Now that we changed our default, lets run the java command without absolute path to the java

# java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-8u222-b10-1ubuntu1~18.04.1-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)

Looks good! It is no longer reporting version 11.

What the update-alternatives script does is maintains symbolic links to various executable binaries in directories like /usr/bin because those are the ones executed by default from the environment path. The command isn't just for picking a Java version.