Using Java in Jobs¶
If your code uses Java via a
.jar file, it is easy to bring along your
own copy of the Java Development Kit (JDK) which allows you to run
.jar file anywhere on the Open Science Pool.
Steps to Use Java in Jobs¶
- Get a copy of Java/JDK. You can access the the Java Development Kit (JDK) from
the JDK website. First select the link to the
JDK that is listed as "Ready for Use" and then download the Linux/x64
version of the tar.gz file using a Unix command such as
/homedirectory. For example,
$ wget https://download.java.net/java/GA/jdk17.0.1/2a2082e5a09d4267845be086888add4f/12/GPL/openjdk-17.0.1_linux-x64_bin.tar.gz
The downloaded file should end up in your home directory on the OSG Connect access point.
Include Java in Input Files. Add the downloaded tar file to the
transfer_input_filesline of your submit file, along with the
.jarfile and any other input files the job needs:
transfer_input_files = openjdk-17.0.1_linux-x64_bin.tar.gz, program.jar, other_input
Setup Java inside the job. Write a script that unpacks the JDK tar file, sets the environment to find the java software, and then runs your program. This script will be your job\'s executable. See this example for what the script should look like:
1 2 3 4 5 6 7 8 9 10
#!/bin/bash # unzip the JDK tar -xzf openjdk-17.0.1_linux-x64_bin.tar.gz # Add the unzipped JDK folder to the environment export PATH=$PWD/jdk-17.0.1/bin:$PATH export JAVA_HOME=$PWD/jdk-17.0.1 # run your .jar file java -jar program.jar
Note that the exact name of the unzipped JDK folder and the JDK tar.gz file will vary depending on the version you downloaded. You should unzip the JDK tar.gz file in your home directory to find out the correct directory name to add to the script.