Apple - The Java JAR file ... could not be launched

Even though the error message says to check the Console I couldn't find anything useful there. However if you try to run the JAR file from the Terminal you get this error:

no main manifest attribute, in ./algs4.jar

This error means that the JAR file is missing the "Main-Class" parameter in its MANIFEST.MF file. The Main-Class parameter tells the Java runtime which class is the Entry Point, i.e. which class to run first when launching.

You can add this parameter using the Terminal. First of all download the JAR file from the Princeton website, then run the following command (assuming the JAR file is in your Downloads folder):

jar ufe ~/Downloads/algs4.jar TestAlgs4

This command updates the MANIFEST.MF file within the JAR. Once that is done the JAR file should run from the Finder or the Terminal successfully.

Screenshot of algs4.jar running

Having said all that, you only get the error if you try to run the JAR like an executable. I don't think you're meant to do that. You are meant to just place the JAR file somewhere the Java runtime can find it, and then refer to it in the code you write as you do the exercises in this book. There are clear instructions here on what you are supposed to do with the JAR file here: https://algs4.cs.princeton.edu/code/

Tags:

Java

Macos

Mac