java.io.FileNotFoundException:无法打开类路径资源,因为它不存在

java.io.FileNotFoundException:无法打开类路径资源,因为它不存在,java,spring,file,intellij-14,Java,Spring,File,Intellij 14,我正在尝试为我的项目设置配置位置,但不断出现以下错误: java.io.FileNotFoundException:类路径资源 无法打开[main/resources/app context.xml],因为它没有打开 存在 我的项目设置如下: 我的代码设置为: ApplicationContext context = new ClassPathXmlApplicationContext(configLocation: "main/resources/app-context.xml"); 如何

我正在尝试为我的项目设置配置位置,但不断出现以下错误:

java.io.FileNotFoundException:类路径资源 无法打开[main/resources/app context.xml],因为它没有打开 存在

我的项目设置如下:

我的代码设置为:

ApplicationContext context = new ClassPathXmlApplicationContext(configLocation: "main/resources/app-context.xml");

如何修复此问题?

您直接放在
src/main/java
下的内容在默认包中,位于类路径的根目录下。放置在
src/main/resources
下的资源也是如此:它们最终位于类路径的根

因此,资源的路径是
app-context.xml
,而不是
main/resources/app-context.xml

尝试以下方法:

ApplicationContext context = new ClassPathXmlApplicationContext("app-context.xml");

文件位置/路径必须相对于类路径位置。如果资源目录位于类路径中,则只需要“app context.xml”作为文件位置。

我们也可以尝试此解决方案

ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath*:app-context.xml");

在这种情况下,spring会自动在类路径本身中找到类

在此处发布代码和错误日志。关于那件事,我可不在影楼里!以后的问题都可以!当服务器运行时,如何添加文件或稍后更新此资源文件?@Kenji您不能。资源是应用程序资源,在编译时已知,并与应用程序捆绑在一起。如果以后要添加文件,则这些文件不是应用程序资源,而是数据。数据进入你的数据库,不管它是什么(它可能是你的文件系统)。我想为我的移动应用程序版本(强制更新或不强制更新)放一个json文件。所以,如果我可以将一个json文件放在公共静态根目录中进行更新,这似乎比只为一条记录创建一个表要好。你的想法是什么?如果我想在一个名为report的目录中找到一个与“src”级别相同的文件,该怎么办?它似乎也适用于Spring Boot的
@ImportResource(“classpath*:config.xml”)