可能重复:
在类路径中定位文件时出现问题
xml文件之类的配置文件应该放在java动态web项目的哪里,lib文件夹中的外部jar文件应该在运行时读取配置文件。
可能重复:
在类路径中定位文件时出现问题
xml文件之类的配置文件应该放在java动态web项目的哪里,lib文件夹中的外部jar文件应该在运行时读取配置文件。
底线是这些文件必须到达您的应用程序类路径。在 web probject 的情况下WEB-INF/classes
是最佳位置。(正如@Easwaramoorthy Kanaga 已经提到的那样)。
问题是将文件放在项目中的哪个位置。如果您使用的是 Maven,它几乎决定了位置src/main/resources
。如果您不使用 maven,请将它们放在资源目录中。资源目录应定义在与src
目录相同的级别。例如,如果您src
的项目根目录下有目录resources
,则在同一位置创建目录。配置您的 IDE 以将这些文件复制到目标目录。更新您的构建脚本以执行相同的操作。
您可以将它放在 WEB-INF/classes 文件夹中。即使您可以在类文件夹中放置一个文件夹,它也能完美运行。
还有一件事,jar 文件应该使用硬编码路径读取配置文件,而不是像这样。
String xmlFilePath = "configfile.xml";
InputStream file = this.getClass().getClassLoader().getResourceAsStream(xmlFilePath);