NoSuchMethodError when running jar

659 views Asked by At

I've made a small application in Java, which runs fine in Intellij Idea, however once I try to export it to a jar file and try to run it, it gives me this error:

Exception in thread "main" java.lang.NoSuchMethodError: nu.apiary.PF2.Building.<init>(ILjava/lang/String;III)V
        at nu.apiary.RMS.Main.main(Main.java:13)

All of my dependencies are included in the jar file (I've checked with WinRar)...

The error occurs in this method:

public static void main(String[] args) {
    try {
        building = new Building(Integer.parseInt(args[0]), args[1], 0, 0, 0);
    } catch (Exception e) {
        System.err.println("Incorrect building name entered!");
        System.err.println("Closing now!");
        System.exit(-1);
    }
    if(args.length == 2)
        server = new Server(8998);
    else if(args.length == 3)
        server = new Server(Integer.parseInt(args[2]));
    else if(args.length < 2 || args.length > 3) {
        System.err.println("Incorrect amount of arguments, correct usage:");
        System.err.println("rms-[version] <height> <name> [port]");
        System.err.println("Closing now!");
        System.exit(-1);
    }
    serverThread = new Thread(server);
    serverThread.start();
}

At this line:

building = new Building(Integer.parseInt(args[0]), args[1], 0, 0, 0);

I run it with this command:

java -jar rms.jar 1 data/home#
1

There are 1 answers

0
Lucurious On

I have not found the problem, however I have solved it :)

1. In Intellij I exported the project to Eclipse. (File --> Export to Eclipse)

2. I then opened the project in eclipse.

3. I created a new run configuration.

4. I then exported the project as a runnable jar file. (File --> Export... --> Java --> Runnable Jar --> Complete the export dialog)