<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Kumar Deshmukh</title>
    <description>The latest articles on Forem by Kumar Deshmukh (@datkumar).</description>
    <link>https://forem.com/datkumar</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1150503%2F842814c5-e72e-43ab-8a47-26e57b46be86.jpeg</url>
      <title>Forem: Kumar Deshmukh</title>
      <link>https://forem.com/datkumar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/datkumar"/>
    <language>en</language>
    <item>
      <title>The preferred way to install and manage Java JDKs on Linux</title>
      <dc:creator>Kumar Deshmukh</dc:creator>
      <pubDate>Tue, 29 Oct 2024 17:29:43 +0000</pubDate>
      <link>https://forem.com/datkumar/the-preferred-way-to-install-and-manage-java-jdks-on-linux-4mb2</link>
      <guid>https://forem.com/datkumar/the-preferred-way-to-install-and-manage-java-jdks-on-linux-4mb2</guid>
      <description>&lt;p&gt;I'm on Fedora Workstation 40, but similar steps would work on most major Linux distros like Ubuntu/Mint etc&lt;/p&gt;

&lt;h2&gt;
  
  
  Check existing Java installation
&lt;/h2&gt;

&lt;p&gt;On some Linux distros, Java comes installed by default; however it is &lt;strong&gt;just the JRE and not the JDK&lt;/strong&gt;. You can verify this as &lt;code&gt;java&lt;/code&gt; command is found but the &lt;code&gt;javac&lt;/code&gt; command is NOT found.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;java  &lt;span class="c"&gt;# would show manual of arguments&lt;/span&gt;
javac &lt;span class="c"&gt;# would give not found error if JDK not installed&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;java &lt;span class="nt"&gt;--version&lt;/span&gt;  &lt;span class="c"&gt;# OR "java -version" for older java&lt;/span&gt;
javac &lt;span class="nt"&gt;--version&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Refer these articles to know the differences between JDK, JRE and JVM:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.oracle.com/cd/E19455-01/806-3461/6jck06gqd/index.html" rel="noopener noreferrer"&gt;Java Programming Environment and the Java Runtime Environment (JRE)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://medium.com/@techietutor/what-are-jdk-jre-jvm-and-jit-in-java-a483ea4526a8" rel="noopener noreferrer"&gt;What are JDK, JRE, JVM and JIT in Java?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In Fedora, the JREs/JDKs are stored within &lt;code&gt;/usr/lib/jvm&lt;/code&gt;. So you can look into it's contents or query them as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;find /usr/lib/jvm &lt;span class="nt"&gt;-name&lt;/span&gt; java
find /usr/lib/jvm &lt;span class="nt"&gt;-name&lt;/span&gt; javac
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Installing an OpenJDK
&lt;/h2&gt;

&lt;p&gt;I'm on Fedora 40 where the package manager is &lt;code&gt;dnf&lt;/code&gt;. You would be installing your desired OpenJDK via your respective Linux distro's package manager (like &lt;code&gt;apt&lt;/code&gt; for Ubuntu/Debian):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Search available JDKs to install:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  dnf search jdk
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You would get a list of packages available to install having various Java versions as well as the variant suffix in the package. The &lt;code&gt;headless&lt;/code&gt; variants usually just include the &lt;strong&gt;JRE&lt;/strong&gt;. To install the full JDK with all the necessary tools for Java development, we need the development variant of the package, usually containing the &lt;code&gt;-devel&lt;/code&gt; term suffix in the name for &lt;code&gt;dnf&lt;/code&gt;. Here's a list of few package variant names for Java 17 OpenJDK from the &lt;code&gt;dnf&lt;/code&gt; output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  java-17-openjdk.x86_64 : OpenJDK 17 Runtime Environment
  java-17-openjdk-devel.x86_64 : OpenJDK 17 Development Environment
  java-17-openjdk-devel-fastdebug.x86_64 : OpenJDK 17 Development Environment optimised with full debugging on
  java-17-openjdk-devel-slowdebug.x86_64 : OpenJDK 17 Development Environment unoptimised with full debugging on
  java-17-openjdk-fastdebug.x86_64 : OpenJDK 17 Runtime Environment optimised with full debugging on
  java-17-openjdk-headless.x86_64 : OpenJDK 17 Headless Runtime Environment
  java-17-openjdk-headless-fastdebug.x86_64 : OpenJDK 17 Runtime Environment optimised with full debugging on
  java-17-openjdk-headless-slowdebug.x86_64 : OpenJDK 17 Runtime Environment unoptimised with full debugging on
  java-17-openjdk-javadoc.x86_64 : OpenJDK 17 API documentation
  java-17-openjdk-portable.x86_64 : OpenJDK 17 Runtime Environment portable edition
  java-17-openjdk-portable-devel.x86_64 : OpenJDK 17 Development Environment portable edition
  java-17-openjdk-portable-sources.x86_64 : OpenJDK 17 full patched sources of portable JDK
  java-17-openjdk-slowdebug.x86_64 : OpenJDK 17 Runtime Environment unoptimised with full debugging on
  java-17-openjdk-src.x86_64 : OpenJDK 17 Source Bundle
  java-17-openjdk-src-fastdebug.x86_64 : OpenJDK 17 Source Bundle for packages with debugging on and optimisation
  java-17-openjdk-src-slowdebug.x86_64 : OpenJDK 17 Source Bundle for packages with debugging on and no optimisation
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On Ubuntu,, there are lesser packages and the one you want to install is typically named like &lt;code&gt;openjdk-17-jdk&lt;/code&gt; for the whole JDK toolset&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Since &lt;strong&gt;Fedora 42&lt;/strong&gt;, the &lt;code&gt;Adoptium&lt;/code&gt; repository has been added in place of the OpenJDK packages. Those JDKs are now available within the Eclipse &lt;code&gt;temurin&lt;/code&gt; repository and you&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; temurin-11-jdk.x86_64: Eclipse Temurin 11 JDK
 temurin-17-jdk.x86_64: Eclipse Temurin 17 JDK
 temurin-21-jdk.x86_64: Eclipse Temurin 21 JDK
 temurin-23-jdk.x86_64: Eclipse Temurin 23 JDK
 temurin-24-jdk.x86_64: Eclipse Temurin 24 JDK
 temurin-8-jdk.x86_64: Eclipse Temurin 8 JDK
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Install your desired OpenJDK package from that list
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  &lt;span class="c"&gt;# Installing the latest OpenJDK with optimized debugging&lt;/span&gt;
  &lt;span class="nb"&gt;sudo &lt;/span&gt;dnf &lt;span class="nb"&gt;install &lt;/span&gt;java-latest-openjdk-devel-fastdebug

  &lt;span class="c"&gt;# Installing a specific version like OpenJDK 17 (BEFORE Fedora 42)&lt;/span&gt;
  &lt;span class="nb"&gt;sudo &lt;/span&gt;dnf &lt;span class="nb"&gt;install &lt;/span&gt;java-17-openjdk-devel
  &lt;span class="c"&gt;# Same, but AFTER Fedora 42&lt;/span&gt;
  &lt;span class="nb"&gt;sudo &lt;/span&gt;dnf &lt;span class="nb"&gt;install &lt;/span&gt;temurin-17-jdk
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Verify installation by checking &lt;code&gt;java&lt;/code&gt; and &lt;code&gt;javac&lt;/code&gt; commands are found&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Installing an Oracle JDK
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Visit the &lt;a href="https://www.oracle.com/java/technologies/downloads/" rel="noopener noreferrer"&gt;Official Oracle SE Downloads Page&lt;/a&gt;. Locate your required Java version's downloads section&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Download the appropriate package for your platform. For RedHat based Linux distros like Fedora, download the &lt;code&gt;.rpm&lt;/code&gt; package (and &lt;code&gt;.deb&lt;/code&gt; for Ubuntu/Debian). Before downloading, you'll have to sign-in to Oracle and agree to the terms&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Double click on the downloaded file (like &lt;code&gt;jdk-11.0.24_linux-x64_bin.rpm&lt;/code&gt;) and select &lt;code&gt;Install&lt;/code&gt;. It will install and configure the Oracle JDK.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now that OracleJDK is installed, verify the &lt;code&gt;java&lt;/code&gt; and &lt;code&gt;javac&lt;/code&gt; commands being detected&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Installing JDKs via IntelliJ
&lt;/h2&gt;

&lt;p&gt;You can also install JDKs from within IntelliJ itself:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click on the Gear icon ⚙️ and then go into &lt;code&gt;Project Structure&lt;/code&gt;. Select &lt;code&gt;SDKs&lt;/code&gt;, click &lt;code&gt;+&lt;/code&gt; plus icon. Then select the JDK you wish to be downloaded and installed&lt;/li&gt;
&lt;li&gt;The JDK is installed in the &lt;code&gt;~/.jdks&lt;/code&gt; folder, for example: &lt;code&gt;~/.jdks/openjdk-20.0.2/&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;IntelliJ auto-detects your available JDK locations on your system. You can also add your existing JDK folder locations like &lt;code&gt;/usr/lib/jvm/jdk-11-oracle-x64&lt;/code&gt; under configured JDKs in &lt;code&gt;Project Structure&lt;/code&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Working with multiple Java installations
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;update-alternatives&lt;/code&gt; command in Linux (also called just &lt;code&gt;alternatives&lt;/code&gt; in Fedora) &lt;strong&gt;creates, removes, maintains and displays&lt;/strong&gt; information about the &lt;strong&gt;symbolic links&lt;/strong&gt; comprising the alternatives system.&lt;/p&gt;

&lt;p&gt;It is possible for several programs fulfilling the same or similar functions to be installed on a single system at the same time. A generic name in the filesystem is shared by all files providing interchangeable functionality. The alternatives system helps determine which actual file is referenced by this generic name.&lt;/p&gt;

&lt;p&gt;Useful references:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://man7.org/linux/man-pages/man1/update-alternatives.1.html" rel="noopener noreferrer"&gt;&lt;code&gt;update-alternatives&lt;/code&gt; - Linux manpage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.redhat.com/en/blog/alternatives-command" rel="noopener noreferrer"&gt;Introduction to the alternatives command in Linux - RedHat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;When you install OpenJDK via your package manager or Oracle-JDK  from the downloaded file, the alternatives should automatically get updated during that process&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  View available options for a command
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;update-alternatives &lt;span class="nt"&gt;--display&lt;/span&gt; java
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The output would look like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;java - status is manual.
 link currently points to /usr/lib/jvm/java-21-openjdk-21.0.4.0.7-2.fc40.x86_64/bin/java
/usr/lib/jvm/java-21-openjdk-21.0.4.0.7-2.fc40.x86_64/bin/java - family java-21-openjdk.x86_64 priority 21000407
 ... follower links ...
/usr/lib/jvm/jdk-11.0.24-oracle-x64/bin/java - priority 184745984
 ... follower links ...
/usr/lib/jvm/java-22-openjdk-22.0.2.0.9-1.rolling.fc40.x86_64-fastdebug/bin/java - family java-latest-openjdk.x86_64 priority 1
 ... follower links ...
Current `best' version is /usr/lib/jvm/jdk-11.0.24-oracle-x64/bin/java.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Similarly, see alternative options list for &lt;code&gt;javac&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Adding an alternatives entry for a command
&lt;/h3&gt;

&lt;p&gt;If any alternative for your commands is NOT registered in the list, you can manually add them as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;update-alternatives &lt;span class="nt"&gt;--install&lt;/span&gt; &amp;lt;&lt;span class="nb"&gt;link&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &amp;lt;name&amp;gt; &amp;lt;path&amp;gt; &amp;lt;priority&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For example, I downloaded the JetBrains Runtime (JCEF) JDK from within IntelliJ, which was downloaded at &lt;code&gt;~/.jdks/jbrsdk_jcef-17.0.12/&lt;/code&gt; folder; but it was not showing up in the alternatives list. So, I'll add the alternatives entry for &lt;code&gt;java&lt;/code&gt; and &lt;code&gt;javac&lt;/code&gt; as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;update-alternatives &lt;span class="nt"&gt;--install&lt;/span&gt; /usr/bin/java java ~/.jdks/jbrsdk_jcef-17.0.12/bin/java 138
&lt;span class="nb"&gt;sudo &lt;/span&gt;update-alternatives &lt;span class="nt"&gt;--install&lt;/span&gt; /usr/bin/javac javac ~/.jdks/jbrsdk_jcef-17.0.12/bin/javac 138
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Similarly, add alternatives for more commands like &lt;code&gt;jar&lt;/code&gt;, &lt;code&gt;javadoc&lt;/code&gt; etc. as required&lt;/p&gt;

&lt;p&gt;You can also add follower links as:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;--install link name path priority [--follower link name path]...  [--initscript service] [--family name]&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Switching between available alternatives of a command
&lt;/h3&gt;

&lt;p&gt;Pick between Java installations present&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;update-alternatives &lt;span class="nt"&gt;--config&lt;/span&gt; java
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The output would look like below. Note that &lt;code&gt;*&lt;/code&gt; denotes best available version and &lt;code&gt;+&lt;/code&gt; denotes your current selection:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;There are 4 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
 + 1           java-latest-openjdk.x86_64 (/usr/lib/jvm/java-23-openjdk-23.0.0.0.37-1.rolling.fc40.x86_64-fastdebug/bin/java)
*  2           /usr/lib/jvm/jdk-11.0.24-oracle-x64/bin/java
   3           java-21-openjdk.x86_64 (/usr/lib/jvm/java-21-openjdk-21.0.5.0.11-1.fc40.x86_64/bin/java)
   4           /home/kumar/.jdks/jbrsdk_jcef-17.0.12/bin/java

Enter to keep the current selection[+], or type selection number:
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Similarly, choose among the alternative options for &lt;code&gt;javac&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;When you uninstall/remove your JDK packages, remember to delete the respective alternatives entries too&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Removing an alternatives entry
&lt;/h3&gt;

&lt;p&gt;For example, to remove the JCEF JDK's &lt;code&gt;java&lt;/code&gt; command alternative entry:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;update-alternatives &lt;span class="nt"&gt;--remove&lt;/span&gt; java ~/.jdks/jbrsdk_jcef-17.0.12/bin/java
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Add Java to PATH
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;This should not be necessary if you are following the &lt;code&gt;update-alternatives&lt;/code&gt; method to manage between Java installations and all entries are complete&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;However, to manually set the configuration in your shell profile, you can do as below:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Set Environment Variables in your Shell config file (i.e. &lt;code&gt;~/.zshrc&lt;/code&gt;, &lt;code&gt;~/.bashrc&lt;/code&gt; etc.)
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  &lt;span class="c"&gt;# Set "JAVA_HOME" environment variable to the jdk folder path&lt;/span&gt;
  &lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;JAVA_HOME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/usr/lib/jvm/jdk-11-oracle-x64
  &lt;span class="c"&gt;# Add the binaries within JAVA_HOME like 'java', 'javac' to PATH&lt;/span&gt;
  &lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;PATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$PATH&lt;/span&gt;:&lt;span class="nv"&gt;$JAVA_HOME&lt;/span&gt;/bin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Restart SHELL:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  &lt;span class="nb"&gt;exec&lt;/span&gt; &lt;span class="si"&gt;$(&lt;/span&gt;which &lt;span class="nv"&gt;$SHELL&lt;/span&gt;&lt;span class="si"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Now, &lt;code&gt;java&lt;/code&gt; should be detected successfully
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  &lt;span class="o"&gt;[&lt;/span&gt;kumar@lenovo-s340 ~]&lt;span class="nv"&gt;$ &lt;/span&gt;java &lt;span class="nt"&gt;--version&lt;/span&gt;
  java 11.0.22 2024-01-16 LTS
  Java&lt;span class="o"&gt;(&lt;/span&gt;TM&lt;span class="o"&gt;)&lt;/span&gt; SE Runtime Environment 18.9 &lt;span class="o"&gt;(&lt;/span&gt;build 11.0.22+9-LTS-219&lt;span class="o"&gt;)&lt;/span&gt;
  Java HotSpot&lt;span class="o"&gt;(&lt;/span&gt;TM&lt;span class="o"&gt;)&lt;/span&gt; 64-Bit Server VM 18.9 &lt;span class="o"&gt;(&lt;/span&gt;build 11.0.22+9-LTS-219, mixed mode&lt;span class="o"&gt;)&lt;/span&gt;
  &lt;span class="o"&gt;[&lt;/span&gt;kumar@lenovo-s340 ~]&lt;span class="nv"&gt;$ &lt;/span&gt;javac &lt;span class="nt"&gt;--version&lt;/span&gt;
  javac 11.0.22
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>java</category>
      <category>linux</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
