嵌套异常是java.io.FileNotFoundException:类路径资源[config / simpleJob.xml]无法打开,因为它不存在

时间:2018-05-14 05:01:43

标签: java spring maven

我正在开发一个添加了依赖项的Spring Batch应用程序。此依赖项具有spring.xml文件。我正在扫描这个xml文件。从main方法中调用mxl文件值并显示输出。

我在我的应用程序的config文件夹(src / main / java / config / simpleJob.xml)下的root包中添加了这个xml文件。但是我仍然看到下面列出的例外情况。请你能告诉我我缺少的东西吗?我需要在我的应用程序中加载xml文件。

主要方法

public class HelloWorldTasklet implements Tasklet{



    private String message;

    public void setMessage(String message) {
        this.message = message;
    }

 @Override
 public RepeatStatus execute(StepContribution contribution, ChunkContext context)
   throws Exception {
  System.out.println(message);
  return RepeatStatus.FINISHED;
 }

}

项目结构 .SpringBatchSample  |

|
 -- src - 测试          | - java          | -- com | - 示例          | -- SpringBatchExample | - HelloWorldTasklet.java          | - 资源          |
         | ` - simpleJob.xml

任何人都可以帮我解决这个问题。

先谢谢

我尝试了许多解决方案,这些解决方案发布在不同的网站上,但我仍然遇到了同样的问题

SEVERE: Job Terminated in error: IOException parsing XML document from class path resource [resources/simpleJob.xml]; nested exception is java.io.FileNotFoundException: class path resource [resources/simpleJob.xml] cannot be opened because it does not exist
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [resources/simpleJob.xml]; nested exception is java.io.FileNotFoundException: class path resource [resources/simpleJob.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:530)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:444)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
    at org.springframework.batch.core.launch.support.CommandLineJobRunner.start(CommandLineJobRunner.java:290)
    at org.springframework.batch.core.launch.support.CommandLineJobRunner.main(CommandLineJobRunner.java:592)
Caused by: java.io.FileNotFoundException: class path resource [resources/simpleJob.xml] cannot be opened because it does not exist
    at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:157)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:328)
    ... 14 more

2 个答案:

答案 0 :(得分:1)

这是由于路径错误造成的。 根据您的描述:该文件位于 src / main / java / config / sampleJob.xml

  

我在我的应用程序的config文件夹(src / main / java / config / simpleJob.xml)下的root包中添加了这个xml文件。

但是从例外情况可以看出,您的程序正在尝试从 [resources / simpleJob.xml]

加载配置
  

SEVERE:作业终止错误:IOException从类路径资源[resources / simpleJob.xml]解析XML文档;嵌套异常是java.io.FileNotFoundException:类路径资源[resources / simpleJob.xml]无法打开,因为它不存在

因此,在正在加载xml配置文件的主类中更正此路径将解决您的问题。

答案 1 :(得分:0)

当您右键单击com.akshay.codewithme(如图所示)并创建一个.xml文件(在我的情况下为spring.xml)时,通常会发生此错误。 您可以做的是,右键单击src/main/java,然后创建一个.xml文件。

这就是我解决问题的方式。它对我有用。

enter image description here