I was programming Java Shared Classes Caching on z/OS, and tried using Eclipse IDE on Linux to edit the source. I had several problems with this.
The import files are in a .jmod file, not the .jar files I was expecting.
Compile on z/OS
To compile the Java source on z/OS I needed to add the .jmod file to the classpath.
cp="-cp /usr/lpp/java/J21.0_64/jmods/openj9.sharedclasses.jmod"
/usr/lpp/java/J8.0_64/J21.0_64/bin/javac $cp m4.java
With this I could use
...
import com.ibm.oti.shared.*;
...
When I used the source in the Eclipse IDE, it could not find the imports.
Wrong version of Java
I had installed Java openj9-21 on Linux, but it did not have the openj9.sharedclasses.jmod file.
I downloaded the Semeru code from here.
Often Java is installed in /usr/java/…. files. I installed the new version into one of my personal directories.
The file ibm-semeru-open-jdk_x64_linux_21.0.6_7_openj9-0.49.0.tar.gz was downloaded to my Downloads directory.
You can untar it in place – or unzip it to a different location using the -C …. option
tar -xvf ibm-semeru-open-jdk_x64_linux_21.0.6_7_openj9-0.49.0.tar.gz
This created a directory jdk-21.0.6+7 and created the files below it.
You can update the “sudo update-alternatives…” command by
sudo update-alternatives –list java
sudo update-alternatives –install /usr/bin/javac javac /home/colinpaice/Downloads/jdk-21.0.6+7/bin/javac
sudo update-alternatives –install /usr/bin/java java /home/colinpaice/Downloads/jdk-21.0.6+7/bin/java 1
sudo update-alternatives –install /usr/bin/jar jar /home/colinpaice/Downloads/jdk-21.0.6+7/bin/jar 1
Which defines which symlinks to define for the javac, java and jar commands.
You also need to update your Java_Home environment variable.
There’s more
I had to configure Eclipse to use this new level of Java. Window-> Preferences-> Installed JREs, and use the location of the directory /home/colinpaice/Downloads/jdk-21.0.6+7.