我在aws ec2实例上执行了一个.jar文件,其中包含以下代码:
List<String> lines = FileUtils.readLines(new File("googlebooks-eng-all-1gram-20120701-k"));
该文件存在于projectname / res中,也存在于/ projectname中。我在构建路径中包含/ res。另外,如果我在eclipse中导出.java文件,我看到该文件存在于root文件的jar文件中。 如果我在我的电脑上运行jar localy它工作正常。但如果我在ec2实例上运行它,它会说:
java.io.FileNotFoundException: File 'googlebooks-eng-all-1gram-20120701-k' does not exist
怎么可能?
答案 0 :(得分:0)
在你的电脑上,它正在读取文件系统上的实际文件 - 这就是new File
的意思 - 文件系统上的文件。
要访问jar文件中的资源,您需要调用getResourceAsStream
或类似的东西。