在AWS EC2上运行时,无法找到可执行jar中的文件

时间:2013-11-16 12:27:15

标签: jar amazon-ec2

我在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

怎么可能?

1 个答案:

答案 0 :(得分:0)

在你的电脑上,它正在读取文件系统上的实际文件 - 这就是new File的意思 - 文件系统上的文件。

要访问jar文件中的资源,您需要调用getResourceAsStream或类似的东西。