Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot run jar file: Could not find or load main class Hello

I create jar file in IDEA Build>Build Artifacts. But can't run it with java -jar jarname.jar - Error: Could not find or load main class Hello. MANIFEST.MF file is in the /resources/META-INF/ folder. And here is the launcher class:

public class Hello {

    public static void main(String[] args) {
        System.out.println("Hello World!");
    }

}

MANIFEST.MF:

Manifest-Version: 1.0
Main-Class: Hello

enter image description here


EDIT: Added artifacts setting screenshot

enter image description here

like image 740
Mansur Nashaev Avatar asked Dec 03 '25 17:12

Mansur Nashaev


2 Answers

enter image description here

You go to project structure then choose "Artifacts" from the left tab. Add a new artifact and as you see here although I have a manifest selected and a Main class selected, on the left side it shows what it will add to the jar. On the right side it shows what's available(un-added). However, since I haven't added anything into my jar yet, it will only add the Manifest and none of the actual code.

You need to specify that you want to add the compile output to the jar or else it will only have the manifest and not your actual classes. You can do that by just double clicking on it. If you specify the directory above the compiled output, it will add the src as well I believe.

Update: Add external dependencies

enter image description here

enter image description here

like image 64
Brion Avatar answered Dec 06 '25 06:12

Brion


i believe your manifest file must say what the main class is if you want it to auto execute.

Main-Class: Hello

otherwise you need to specify it on the command line when attempting to execute the jar. As far as how to do that with IntelliJ, I can't help you there.

java -cp hello.jar Hello

Note that the reference to the class with the main method is the fully qualified location (package.classname) but since your class has the default package, its not necessary.

like image 37
loesak Avatar answered Dec 06 '25 06:12

loesak