我正在开发一个添加了依赖项的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
答案 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)