Java - the Oracle Problem and OpenJDK
Situation
The commercialisation coming with the change of Oracles license politics has called issues. To update now with Oracle causes to pay for the next main version. The alternate solution coud be to use OpenJDK.
- The mainly official site is https://openjdk.java.net
- Another source may be Redhat's OpenJDK
But some may want to have the possibility to switch between these two versions.
Prerequisites
To get the proof and to check the correctness of this solution the installed Java versions should be uninstalled. I'm aware that this isn't wanted by someone. But only under this circumstances my procedure will be clean and tidy. I did so but found some things remaining after uninstalling it and I want to show which one. Let's do the check:
java -version 'java' is not recognized as an internal or external command, operable program or batch file.So Java is not present any more. Let's look what environment variable PATH is telling us. There's a tool for manipulating and better displaying PATH variable, I will show.
mypath list java ___ dir's actually ___ d:\Program Files\Java\jdk1.8.0_191\bin
As we can see even after uninstalling Java this directory did remain in the PATH. But no such directory was found anymore.
To set up the situation in assumpting an original Oracle Java was installed, the last free version of the originally Oracle Java 8 has to be downloaded. For this action it is required to create a Oracle account with your email address and log in. You can find Oracle Java here:
https://www.oracle.com/java/
Scroll down and find:
Download Java now >> Java SE 8 >> JDK Download
Then scroll down to Windows x64 and download the exe file, in my case:
jdk-8u251-windows-x64.exe
The digits in the name 251 are a sub number of this version and may or may not have changed next time you visit this page. Install this Java version. It asks you for the directories for the JDK installation and the JRE installation, choose on own wishes. The best would be the choosen directories do not include spaces or extra characters in name, minus and underline are okay. Also avoid language specific characters with accent and so on.
Now let's look what is the result of it.
mypath list java ___ dir's actually ___ C:\Program Files (x86)\Common Files\Oracle\Java\javapath d:\Program Files\Java\jdk1.8.0_191\bin
As we can see the old non existing directory is present and the new directory with javapath in the end is set.
Solution
Now there is still the issue with the installed Oracle Java. What are the characteristics of the Oracle Java Installation?
A solution could be to:
Be aware, that some already started tools in moment of change of
For the simple switch from Oracle Java which is by default installed (Java 1.8):
respective now the linked dir:
to a self installed Java 13 there were done the following steps:
- It installs (in my case) a directory javapath under
C:\Program Files (x86)\Common Files\Oracle\Java\javapath
orC:\ProgramData\Oracle\Java\javapath
Attention! This now is a dir-link (Junction) to a directory in the same location:C:\ProgramData\Oracle\Java\javapath_target_141687
- This dirctory is added to the system environment variable
PATH
- The directory contains 3 files that are only links to the 3 java files:
java.exe
javaw.exe
javaws.exe
... these links point directly to the original installations point of Java.C:\Programm\Java\jdk1.8.0_251\bin
- The dir comes with rigths for admins. So one needs admin rights to rename the directory or delete/or move the files.
A solution could be to:
- once copy the 3 files to another location for cases of restore
- rename the directory with admin rights to
javapath.BAK
- in the same parent dir create a new directory
javapath
which has no limitation to admin rights - do via hand or search a tool for changing the
PATH
-variable (e.g. tool Perl mypath)
change thePATH
by your wishes between the installed JDK's including original Oracle JDK
Be aware, that some already started tools in moment of change of
PATH
will cause errors. So end and start the tools a new.For the simple switch from Oracle Java which is by default installed (Java 1.8):
C:\Program Files (x86)\Common Files\Oracle\Java\javapath
respective now the linked dir:
C:\ProgramData\Oracle\Java\javapath_target_141687
to a self installed Java 13 there were done the following steps:
- get local admin rights
- open
control panel
(Systemsteuerung) >>extended system settings
(Erweiterte Systemseinstellungen) >>environment variables
(Umgebungsvariablen) system variables
(Systemsvariablen) >>Path
- input (add separated by a semi colon ';') the original
javapath
-dir followed by the Java 13 install dir respective the subdirbin
like:c:\dokumente\java\jdk-13.0.1\bin
- create two batch files in a sub-dir which is accessible via Path-variable
- save/backup the links in the
javapath
-dir java13.bat
deletes thejavapath
-dir from the Path-variable, add's the Java 13-dir to PATH, deletes the 3java*.exe
-files from thejavapath
-dirjava18.bat
adds thejavapath
-dir to the Path-variable, deletes Java 13-dir from PATH, copies the 3java*.exe
-files from the backup-dir tojavapath
-dir
Labels: java, javaissues, jdk, openjdk, oracle
0 Kommentare:
Kommentar veröffentlichen
Abonnieren Kommentare zum Post [Atom]
<< Startseite