<bean id="xmlItemReader" class="org.springframework.batch.item.xml.StaxEventItemReader">
<property name="fragmentRootElementName" value="SomeElement" />
<property name="unmarshaller" ref="jaxb2unmarshaller" />
</bean>
<bean id="jaxb2unmarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="classesToBeBound">
<list>
<value>org.MappedClass</value>
</list>
</property>
</bean>
我开始使用多步作业并且在spring-xd中打包为作业模块时出现问题,我从配置中剥离了所有其他bean,最后发现问题是由于上述两个bean而来。 spring-oxm jar存在于自定义模块lib中。我使用的是spring-xd 1.0.0.RC1。
我不想将jar放入服务器lib,所有必需的库都应该是自定义模块lib目录的一部分。 如何让它运作?
如果我将spring-oxm jar放在spring-xd / lib目录中,则会出现错误,但我也会收到其他错误。
我猜NoClassDefError的真正原因可能是缺少的依赖项,错误并不表示缺少依赖类的信息。
任何输入都会受到赞赏吗?
答案 0 :(得分:0)
所提供的信息不足以得出任何结论。但是,您可以检查上面提供的代码块的倒数第二行。在此处编写代码时,关闭<property>
标记丢失或是TYPO。
答案 1 :(得分:0)
如果模块的依赖jar不在服务器类路径上,则应该放在模块的lib /目录中。 Spring XD 1.1改进了对模块打包的支持,但在1.0中你需要手动安装jar。另外,我建议至少升级到1.1.0.M2或1.0.3.RELEASE。