当前位置: 首页 > 知识库问答 >
问题:

无法找到Spring类路径资源,因为它不存在

慕容越泽
2023-03-14

我正在使用我的第一个spring helloworld程序,使用STS和maven,这是一个简单的IOC示例

public class Soloapp {
    String solo;
    public Soloapp() {
        // TODO Auto-generated constructor stub
    }
    public String getSolo() {
        return solo;
    }
    public void setSolo(String solo) {
        this.solo = solo;
    }

}

和实现类

package com.solo.spring;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Soloimp {

    public static void main(String[] args) {
        ApplicationContext ap= new ClassPathXmlApplicationContext("/WEB-INF/spring/root-context.xml");
        Soloapp apa=  (Soloapp) ap.getBean("solo");
System.out.println(apa.getSolo());


    }

}

还有例外

L

og4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [WEB-INF/spring/root-context.xml]; nested exception is java.io.FileNotFoundException: class path resource [WEB-INF/spring/root-context.xml] cannot be opened because it does not exist
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:341)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:243)
    at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:127)
    at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:93)
    at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:131)
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:522)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:436)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
    at com.solo.spring.Soloimp.main(Soloimp.java:9)

它显示无法找到xml文件的位置,但我指定了我使用Spring工具套件mvc maven项目的位置

共有2个答案

从开济
2023-03-14

如果我没有错的话,当从STS/Eclipse运行时,路径是从项目顶部解析的。所以试着从根目录设置文件的路径,比如src/main/webapp/WEB-INF。。。。

金理
2023-03-14

您可以尝试Vaibs在链接答案中建议的内容,但为此您必须移动src/main/Resources中的root-context.xml

如果你想把它放在原处,就这样装好

ConfigurableApplicationContext ap = new ClassPathXmlApplicationContext("file:src/main/webapp/WEB-INF/spring/root-context.xml");
 类似资料:
  • 我试图为我的项目设置配置位置,但我一直得到以下错误: java.io。FileNotFoundException:无法打开类路径资源[main/resources/app context.xml],因为它不存在 我的项目设置如下: 我将我的代码设置为: 我该怎么解决这个问题?

  • 我的项目结构是下面的屏幕截图。实际上,我得到了一个文件找不到的错误,尽管文件是存在的,我将添加错误在下面。我是Intellej的新手,这是我的第一个项目,我试图通过使用MySQL连接到数据库来制作一个音乐商店。下面是我的applicaiton-context.xml,dispatcher和web.xml是正确的。 我的日志文件是 由:java.io.fileNotFoundException引起:

  • 我正在开发一个添加了依赖项的Spring Boot应用程序。这个依赖项有一个spring。xml文件。我正在扫描这个xml文件并创建bean。其中一颗豆子正在寻找冬眠。类路径中的属性。我已将此属性文件添加到应用程序的“资源”文件夹下。但是,我仍然看到下面列出的例外情况。你能告诉我我错过了什么吗? JAVA木卫一。FileNotFoundException:无法打开类路径资源[hibernate.p

  • Spring护套2.0.3。释放 当我运行项目时,指出这个错误,但拦截器。可以找到类。 项目无法启动,但我nterceptor.class可以找到。 在此处输入图像描述

  • 我遇到一个问题,IntelliJ13.1.4在运行单元测试时,在模块的目录中找不到文件。 在回答之前请注意,我已经完成了以下所有操作: 该模块是一个分级项目,如果我运行,单元测试运行良好。 我过去在IntelliJ中成功地运行了这个单元测试,它找到了模块。(也许是Intellij的早期版本?) 我已经检查了IntelliJ模块设置,并且目录被标记为测试资源目录。(见下面的截图。) 我正在类中转储单

  • 在spring boot 1.1.5和1.1.6中都有这个问题--我正在使用@value注释加载一个类路径资源,当我从STS(3.6.0,Windows)中运行应用程序时,它可以正常工作。但是,当我运行一个mvn包,然后尝试运行jar时,我得到了FileNotFound异常。 资源message.txt位于src/main/resources中。我已经检查了jar,并验证它在顶层(与applica