运行jar时出现NoSuchMethodError

时间:2017-01-03 16:48:22

标签: java exception jar nosuchmethoderror

我在Java中创建了一个小应用程序,它在Intellij Idea中运行良好,但是一旦我尝试将其导出到jar文件并尝试运行它,它就会给我这个错误:

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)

我的所有依赖项都包含在jar文件中(我已经使用WinRar进行了检查)...

此方法发生错误:

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();
}

在这一行:

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

我用这个命令运行它:

java -jar rms.jar 1 data/home#

1 个答案:

答案 0 :(得分:0)

我没有发现问题,但是我已经解决了这个问题:)

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)