Installing Java applications (on Puhti)
π¬ Java applications do not typically require special installation.
- You just need to download the distribution package, typically a
.jar
file.
π‘ Compute nodes do not have a default Java installation, so you need to load a suitable Java module.
You can check the available modules with the command:
module spider java
π¬ Despite their name, modules named biojava
are just normal Java installations, which can be used with any software, not just bio applications.
βπ» Some java applications fail to run on the login nodes. Try running them using sinteractive
instead (or by opening a compute node shell in the Puhti web interface).
βΌοΈ Naturally, computationally heavy tasks should be never ran on the login nodes.
π‘ The compute nodes have very limited /tmp
space. If you have to set the temporary file location for a Java application, you can use:
export _JAVA_OPTIONS=-Djava.io.tmpdir=/path/to/tmp # replace with the actual path
Example: Installing ABRA2
π¬ In this example weβll install and run the Java application ABRA2.
-
Create a personal folder (if not done already) under your projectβs
/projappl
directory and move there. Then create (and move to) a new directory for the installation:cd /projappl/<project> # replace <project> with your CSC project, e.g. project_2001234 mkdir -p $USER cd $USER mkdir abra2 cd abra2
-
Download the software:
wget https://github.com/mozack/abra2/releases/download/v2.24/abra2-2.24.jar
-
Load a Java module:
module load biojava
π‘ If you get error messages or warnings about the Java version, try loading another Java module.
-
Run the application:
java -jar abra2-2.24.jar
π‘ If you are not in the same directory as the
.jar
file, you need to include the full path to the file, e.g.java -jar /projappl/<project>/$USER/abra2/abra2-2.24.jar # replace <project> with your CSC project, e.g. project_2001234, and ensure that the path corresponds to the true path
Example 2: Java application with a shell wrapper script
π¬ Some Java applications come with shell scripts that are used to launch them instead of calling Java directly. See the documentation of each software for details.
π‘ One example of such an application is BEAST:
sinteractive --account <project> # replace <project> with your CSC project, e.g. project_2001234
module load beast
beast -help
βπ» BEAST will fail to run on the login nodes. Try running it in an interactive session instead (using sinteractive
or a compute node shell in the Puhti web interface).