无法从命令行运行我的程序

tom*_*mmy 1 java command-line jar

我有一个main方法,它创建一个逻辑类的实例

 public static void main(String[] args) {
        try {
            Logic logic = new Logic(args[0]);
            ....... do some stuff here

        } catch (Exception e) {
            System.out.println("Error Encountered Details: " + e);
        }
    }
Run Code Online (Sandbox Code Playgroud)

问题是程序需要运行csv文件,我把它放在与.jar文件相同的目录中但是当我从命令行运行时我只是得到java.lang.arrayindexoutofbounds(0)错误

我究竟做错了什么

谢谢

Bri*_*new 7

您的命令行应如下所示:

java -cp {name_of_jar} {name_of_class} {name_of_csv}
Run Code Online (Sandbox Code Playgroud)

看起来你没有提供.csv文件名(将进入args[0])?

以上假设您的.jar清单中未定义主类.如果,那么使用:

java -jar {name_of_jar} {name_of_csv}
Run Code Online (Sandbox Code Playgroud)

检查args[]数组是否需要信息,顺便说一句,然后生成诸如"缺少.csv文件名"之类的消息,以避免讨厌的异常/堆栈跟踪,这是一个很好的做法.