Oracle Java JDK: Difference between revisions
Created page with "Oracle announced Java 18 a few days ago. Here’s how to install the programming language in Ubuntu Linux. ===What’s New in Java 18=== *New Oracle Cloud Infrastructure (OCI) native service to help manage Java runtimes and applications on-premises or on any cloud. *Sets UTF-8 as the default charset of the standard Java APIs *A command-line tool and API to start a minimal web server that serves static files only. *Reimplement core reflection with method handles *Intern..." |
|||
| Line 12: | Line 12: | ||
*Foreign Function and Memory API (Second Incubator) | *Foreign Function and Memory API (Second Incubator) | ||
*Pattern Matching for Switch (Second Preview) | *Pattern Matching for Switch (Second Preview) | ||
==Install JDK 18 in Ubuntu== | ==Install JDK 18 in Ubuntu== | ||
This Ubuntu PPA maintains installer script for automatically installing Java. It however does not update for the new Java 18 release. | This Ubuntu PPA maintains installer script for automatically installing Java. It however does not update for the new Java 18 release. | ||
| Line 24: | Line 22: | ||
===2. Install the .deb package=== | ===2. Install the .deb package=== | ||
*Next, press <code>Ctrl+Alt+T</code> on keyboard to open terminal. When it opens, run the command below to install the package you just downloaded: | *Next, press <code>Ctrl+Alt+T</code> on keyboard to open terminal. When it opens, run the command below to install the package you just downloaded: | ||
<syntaxhighlight lang="shell"> | |||
cd ~/Downloads && sudo apt install ./jdk-18_linux-x64_bin.deb | |||
</syntaxhighlight> | |||
===3. Set JDK 18 as default=== | ===3. Set JDK 18 as default=== | ||
It installs the language files into <code>/usr/lib/jvm/jdk-18/</code> directory. To set it as default, do the following 2 steps one by one. | It installs the language files into <code>/usr/lib/jvm/jdk-18/</code> directory. To set it as default, do the following 2 steps one by one. | ||
'''a.''' Create symbolic links for the executable files: | '''a.''' Create symbolic links for the executable files:<syntaxhighlight lang="shell" line="1"> | ||
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-18/bin/java 1 | |||
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk-18/bin/javac 1 | |||
sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk-18/bin/jar 1 | |||
</syntaxhighlight>Similarly, add links for other executable files (e.g., jarsigner, jlink, javadoc) as need. | |||
'''b.''' Next, run the commands below one by one, and type number to select Java JDK 18 as default.<syntaxhighlight lang="shell" line="1"> | |||
sudo update-alternatives --config java | |||
sudo update-alternatives --config javac | |||
sudo update-alternatives --config jar | |||
</syntaxhighlight>When done, verify by running command in terminal:<syntaxhighlight lang="shell" line="1"> | |||
java -version | |||
javac -version | |||
</syntaxhighlight> | |||
'''b.''' Next, run the commands below one by one, and type number to select Java JDK 18 as default. | |||
When done, verify by running command in terminal: | |||
===4. Set JAVA_HOME=== | ===4. Set JAVA_HOME=== | ||
'''Option 1''' Set <code>JAVA_HOME</code> for current console, that will work until you close it: | '''Option 1''' Set <code>JAVA_HOME</code> for current console, that will work until you close it:<syntaxhighlight lang="shell" line="1"> | ||
export JAVA_HOME=/usr/lib/jvm/jdk-18 | |||
setenv JAVA_HOME=/usr/lib/jvm/jdk-18 | |||
</syntaxhighlight>'''Option 2''' To make it permanent, create and edit config file via command:<syntaxhighlight lang="shell"> | |||
sudo gedit /etc/profile.d/jdk.sh | |||
</syntaxhighlight>then add following lines:<syntaxhighlight lang="shell" line="1"> | |||
'''Option 2''' To make it permanent, create and edit config file via command: | export J2SDKDIR=/usr/lib/jvm/jdk-18 | ||
export J2REDIR=/usr/lib/jvm/jdk-18 | |||
export PATH=$PATH:/usr/lib/jvm/jdk-18/bin:/usr/lib/jvm/jdk-18/db/bin | |||
export JAVA_HOME=/usr/lib/jvm/jdk-18 | |||
then add following lines: | export DERBY_HOME=/usr/lib/jvm/jdk-18/db | ||
</syntaxhighlight>And create anther one for C shell:<syntaxhighlight lang="shell"> | |||
sudo gedit /etc/profile.d/jdk.csh | |||
</syntaxhighlight>add following lines and save it:<syntaxhighlight lang="shell" line="1"> | |||
setenv J2SDKDIR /usr/lib/jvm/jdk-18 | |||
setenv J2REDIR /usr/lib/jvm/jdk-18 | |||
setenv PATH ${PATH}:/usr/lib/jvm/jdk-18/bin:/usr/lib/jvm/jdk-18/db/bin | |||
setenv JAVA_HOME /usr/lib/jvm/jdk-18 | |||
And create anther one for C shell: | setenv DERBY_HOME /usr/lib/jvm/jdk-18/db | ||
</syntaxhighlight>Finally, change the permissions via command, and it should take place at the next boot.<syntaxhighlight lang="shell"> | |||
sudo chmod +x /etc/profile.d/jdk.csh /etc/profile.d/jdk.sh | |||
</syntaxhighlight> | |||
add following lines and save it: | |||
Finally, change the permissions via command, and it should take place at the next boot. | |||
==Source== | ==Source== | ||