【发布时间】:2013-12-25 10:14:36
【问题描述】:
我在 Eclipse 中运行一个程序,它引用程序源文件夹中的一个文件。但是,当我将程序导出到可运行的 JAR 中时,程序似乎找不到该文件。从本质上讲,该程序在 Eclipse 中可以完美运行,但当它是一个独立程序时就不能这样做了。
我附上了一张我如何在程序中引用文件的照片。
【问题讨论】:
标签: file jar reference path load
我在 Eclipse 中运行一个程序,它引用程序源文件夹中的一个文件。但是,当我将程序导出到可运行的 JAR 中时,程序似乎找不到该文件。从本质上讲,该程序在 Eclipse 中可以完美运行,但当它是一个独立程序时就不能这样做了。
我附上了一张我如何在程序中引用文件的照片。
【问题讨论】:
标签: file jar reference path load
一旦它在 jar 中,您就无法使用 new File() 找到它——它现在是一个类路径资源。您需要使用this.getClass().getResourceAsStream("/TestFileFolder/TRANSFER.xls");(或者,如果您的方法是静态的,则需要使用className.class 代替getClass())。
这实际上是一个特性——如果出于任何原因您需要更改 TRANSFER.xls 资源,您可以通过在类路径中隐藏它来实现,而无需重新打包 jar。
【讨论】: