Spring批处理与javax.batch.runtime.JobInstance的3.0.2依赖关系

时间:2014-12-05 22:32:19

标签: spring-batch java-6

更新

添加javax.batch-api-1.0.jar文件后,以下异常消失,应用程序正在运行。

Origianl Post

到目前为止,我一直在使用Java 6以及Spring批处理和集成。 Application是一个使用Java 1.6的独立Java应用程序。

由于Spring批处理版本已经过时,我今天正在尝试更新库。 我升级了,

  • Spring框架从3.2到4.1.2
  • 春季批次从2.1到3.0.2
  • 从2.2到4.1的Spring集成

由于升级,我添加了一个新的jar文件,即Spring-retry-1.1.jar

升级后,我有以下异常。

Caused by: java.lang.ClassNotFoundException: javax.batch.runtime.JobInstance
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)

看起来spring batch core 3.0.2对我来说不支持Java SE6。它看起来像Java EE7包。但是,当我挖掘Spring批处理文档时,它说它支持Java 6,7,8。

有人知道Spring批量核心3.0.2与Java版本有什么关系吗?

1 个答案:

答案 0 :(得分:2)

这不是java版本问题 - 它在您的运行时类路径上看起来是您丢失的jar

您如何管理您的依赖项?弹簧批3.0.2取决于罐子 - >包含相关类的Javax.batch API。 http://mvnrepository.com/artifact/javax.batch/javax.batch-api

有关完整依赖项的列表,请查看 - > http://mvnrepository.com/artifact/org.springframework.batch/spring-batch-core/3.0.2.RELEASE

请注意,依赖项不是可选的。 Spring JobInstance类实现JobInstance,因此是必需的依赖项。

Class JobInstance

    All Implemented Interfaces:
    java.io.Serializable, javax.batch.runtime.JobInstance