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

vulvrdjw  于 2023-05-05  发布在  Java
关注(0)|答案(3)|浏览(407)

我正在开发一个添加了依赖项的Spring Batch应用程序。此依赖项有一个spring.xml文件。我正在扫描这个xml文件。从main方法调用mxl文件值并显示输出。
我已经在应用程序的config文件夹(src/main/java/config/simpleJob.xml)下的根包中添加了此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
任何人都可以帮助我解决这个问题。
先谢了
我尝试了许多解决方案,其中张贴在不同的网站,但仍然im得到同样的问题

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
vuv7lop3

vuv7lop31#

这是因为错误的道路。根据你的描述:文件在src/main/java/config/sampleJob.xml
我已经在应用程序的config文件夹(src/main/java/config/simpleJob.xml)下的根包中添加了此xml文件。
但是从这个异常可以看出,您的程序正在尝试从**[resources/simpleJob.xml]**加载配置
严重:作业因错误终止:从类路径资源解析XML文档时发生IOException [resources/simpleJob.xml];嵌套异常为java.io.FileNotFoundException:无法打开类路径资源[resources/simpleJob.xml],因为它不存在
因此,在加载xml配置文件的主类中更正此路径将修复您的问题。

cygmwpex

cygmwpex2#

当您右键单击com.akshay.codewithme(如图所示)并创建.xml文件(在我的示例中为spring.xml)时,通常会发生此错误。您可以做的是,右键单击src/main/java并创建一个.xml文件。
我是这样解决这个问题的。对我很有效。

waxmsbnn

waxmsbnn3#

只是想顺便提一下,我在不小心将Eclipse中的Spring项目导出为可执行jar后收到了这个错误。使用Sping Boot 插件和Maven修复了它。

相关问题