如何为excel输入和System.out.print输出的java项目创建一个工作的.jar?

时间:2013-08-22 12:24:08

标签: java excel printing jar

我创建了这个java项目,它基本上从用户确定的excel文件中获取数据,并使用Syste.out.println()来显示结果。它在eclipse中按照我的要求工作,但是当我导出为.jar文件时,它无法正常工作。它会提示输入excel文件位置,但不显示输出,甚至不显示错误。我不知道如何从终端进行操作,所以我通过双击它来运行它。此外,我希望用户选择他们想要的任何excel文件,那么在提示时他们应该记下什么位置?现在,excel文件与项目位于同一目录中。所以只需要excel文件的名称就足够了,但是如果它不在目录中,那么我该如何显示它的位置呢?

谢谢

2 个答案:

答案 0 :(得分:1)

首先,在您的JAR文件中,文件META-INF / MANIFEST.MF必须包含您的主类(即具有main()方法的类),其行如下所示:

Main-Class: mypackage.MyMainClass

确保Eclipse中的设置在生成JAR文件时生成此行。

您可以使用java -jar yourapp.jar从终端运行它但是我假设您需要在类路径中包含一些额外的库,并使用-cp开关。

工作目录通常是运行应用程序的目录。如果要指定不同的路径,则必须相对于该路径或绝对路径。

Windows中的绝对路径类似于:“C:\ mydatafolder \ myexcelsheet.xls”

Unix中的绝对路径类似于:“/ home / myaccount / mydatafolder / myxcelsheet.xls”

答案 1 :(得分:0)

您需要阅读System.in以获取文件路径,其功能如下:

private static String getFilePath () {
    String filePath = null;

    while (true) {
        System.out.println("Please input the path of the file:");
        try {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));   
            filePath = br.readLine();

            File file = new File(filePath);
            if (!file.exists()) {
                System.out.println("Sorry, invalid file path. Please try again.");
            } else {
                return filePath;
            }

        } catch (IOException e) {
            e.printStackTrace();
            System.out.println("Sorry, unexpected error happened, Please try again.");
        }           
    }       
}