0

我有一个像下面这样的 java 类,它从属性文件中读取数据,

java类和属性文件都是同一个目录

FileInputStream fis = new FileInputStream("MyProp.properties");

然后完全编译成功并创建war文件。我部署在服务器中的这个war文件,然后在windows中正常运行

我在 Linux 的另一台服务器中部署了相同的战争文件,然后它给出了异常

FileNotFoundException
4

1 回答 1

0

如果该文件不在您的战争范围内,我建议使用完全限定的路径,而不仅仅是相对路径。如果你需要在 Windows 和 Unix-y 环境中运行,首先像这样检测操作系统:

System.getProperty("os.name");

然后相应地设置路径。

但是,如果文件在您的战争中,只需从类路径中读取它,如下所示:

getClass().getClassLoader().getResourceAsStream("MyProp.properties")

或者:

getClass().getResourceAsStream("/MyProp.properties");

有关更多详细信息,请参见:如何真正从 Java 中的类路径读取文本文件

于 2013-09-26T04:28:58.823 回答