【问题标题】:How to solve BeanDefinitionStoreException caused by FileNotFoundException in SPRING?(Netbeans IDE)如何解决 SPRING 中 FileNotFoundException 导致的 BeanDefinitionStoreException?(Netbeans IDE)
【发布时间】:2019-01-13 11:18:04
【问题描述】:

我正在使用 spring 创建一个非常简单的 java 应用程序。但是应用程序无法打开配置文件(config.xml)。

我使用的是 nebeans IDE 8.2 jdk8 版本

代码如下:

package com.prasad.spring.springcore;


import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.io.*;
import java.util.*;
import java.lang.*;

/**
 *
 * @author Prasad-pc
 */
public class Test{
    public static void main(String args[]){
        ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("config.xml");  //  configuration file name
        Employee emp = (Employee) ctx.getBean("emp");
        System.out.println("Employee ID: " + emp.getId());
        System.out.println("Employee Name: " + emp.getName());
    }
}

我得到的错误是:

Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [config.xml]; nested exception is java.io.FileNotFoundException: class path resource [config.xml] cannot be opened because it does not exist
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:344)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:181)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:217)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:252)
    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:129)
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:613)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:514)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
    at com.prasad.spring.springcore.Test.main(Test.java:21)
Caused by: java.io.FileNotFoundException: class path resource [config.xml] cannot be opened because it does not exist
    at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:172)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:330)
    ... 13 more
------------------------------------------------------------------------
BUILD FAILURE
------------------------------------------------------------------------

“config.xml”存在于 src/main/java 目录中

【问题讨论】:

  • config.xml 要么不存在,要么位于错误的位置。
  • 应该在src/main/resources
  • 我已将我的评论转换为答案,请投票并接受(勾选)它。请记住,您这样做会获得一些声誉积分。

标签: java xml spring


【解决方案1】:

config.xml 文件必须位于 src/main/resources 目录中,而在上述情况下,它位于 src/main/java

【讨论】:

    【解决方案2】:

    src/main/java 应该只包含 Java 类。那里的任何其他内容都将被忽略。

    src/main/resources 应该包含您希望以当前形式包含的任何内容,例如 XML 文件。

    【讨论】:

      猜你喜欢
      • 2017-12-15
      • 1970-01-01
      • 2018-12-12
      • 1970-01-01
      • 2020-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多