包括一个Excel文件和调用一次打包成一个jar子

我开发了一个ExcelReader / Writer程序,可以在其他计算机上运行。 在这个程序中,它接收一个excel.xls的硬数据,读取并以格式化的方式将其写入excel.xlsx文件,然后将其保存在“ CoC-Forms ”目录中。

为了减less运行我的程序的步骤,我已经在项目中包含了空的.xlsx文件。 但是,将其导出到可执行jar(在其他计算机上运行)时,似乎无法访问此空格式。 我知道这可能是一个非常简单的答案,但是我被困在一个完整的工作日,并且完全停止了我的进步。

这是我的环境的片段。 左边是我在Intellij中的Project目录(CoC.xlsx是空的表单),右边的高亮部分是我尝试访问文件的位置以及错误发生的位置。

 JOptionPane.showMessageDialog(null,"About to look for CoC"); //fileFrom = new File(s + "/out/production/XML Reader/CoC.xlsx"); //fileFrom = new File("/XML Reader/out/production/XML Reader/CoC.xlsx"); //fileFrom = new File("CoC.xlsx"); //fileFrom = new File(ExcelWriter.class.getResource("CoC.xlsx").getPath()); CodeSource src = ExcelWriter.class.getProtectionDomain().getCodeSource(); /*if (src != null) { URL url = new URL(src.getLocation(), "CoC.xlsx"); fileFrom = new File() System.out.println(url); } else { JOptionPane.showMessageDialog(null,"Failed"); } */ fileFrom = new File(new File("."), "CoC.xlsx"); 

我通过让人们下载整个项目文件夹,从执行点用../../文件引用,然后深入到文件path来find我放置文件的位置来解决我的问题。 捣乱,但它的工作和解决了这个问题。