微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 如何解决“未处理的异常类型BeansException”

我是Spring Batch的初学者.我正在关注这个guide以创建一个Spring Batch的HelloWorld.在使用main方法的类中,当我尝试使用新的ClasspathXmlApplicationContext(“…”)来获取Application Context时,IDE会显示一条错误消息

Unhandled exception type BeansException

即使我有一个捕获所有类型的异常的catch块,我也无法解决错误.请参阅下面的代码块:

    public static void main(String args[]) {
        try {
            //error message appears here
            AbstractApplicationContext applicationContext = new ClasspathXmlApplicationContext("simpleJob.xml");

            JobParametersBuilder builder = new JobParametersBuilder();
            builder.addString("Date","12/02/2011");
            jobLauncher.run(job,builder.toJobParameters());

            JobExecution jobExecution = jobRepository.getLastJobExecution(job.getName(),builder.toJobParameters());
            System.out.println(jobExecution.toString());
        } 
        catch(Exception e) {
            e.printstacktrace();
        } 
    }

然后,我尝试通过import org.springframework.beans.BeansException解决它;并试图捕获BeansException.虽然未处理的BeansException错误解决,但出现了另一条错误消息:

No exception of type BeansException can be thrown; an exception type
must be a subclass of throwable

请参阅下面的代码块:

    public static void main(String args[]) {
        try {
            AbstractApplicationContext applicationContext = new ClasspathXmlApplicationContext("simpleJob.xml");

            JobParametersBuilder builder = new JobParametersBuilder();
            builder.addString("Date",builder.toJobParameters());
            System.out.println(jobExecution.toString());
        }
        //error message appears here
        catch(BeansException e) {
            //do something
        } 
        catch(Exception e) {
            e.printstacktrace();
        } 
    }

解决错误的正确方法是什么?

附加说明:我没有自己的名为BeansException的类.

编辑:堆栈跟踪(继续错误选项):

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    No exception of type BeansException can be thrown; an exception type must be a subclass of Throwable

    at SpringBatchHelloWorld.BatchLauncher.main(BatchLauncher.java:29)
最佳答案
感谢Ken Bekov对这个问题的评论,我能够解决这个问题并制定了这个解决方案,正式给出了这个问题的答案.应该给Ken Bekov学分.

解:
问题是由于构建路径中包含的.jar文件的不同版本.应该包含的.jar文件是:spring-context-4.2.5.RELEASE.jar,spring-beans-4.2.5.RELEASE.jar和spring-core-4.2.5.RELEASE.jar(注意相同的版本号码 – 4.2.5).

至于spring-batch-core-3.0.6.RELEASE.jar,spring-batch-infrastructure-3.0.6.RELEASE.jar等,它们不一定需要具有相同的版本号(4.2.5).

在包含正确的.jar文件之后,对于新的ClasspathXmlApplicationContext(“…”),甚至不会出现“未处理的异常类型BeansException”错误消息;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐