Spring组件扫描不扫描jboss服务器lib目录

时间:2011-07-28 09:58:37

标签: spring jboss annotations components

我有一个jar文件(保存在jboss-home / server / default / lib中)和一个war文件(保存在jboss-home / server / default / deploy中)。 jar文件包含一个初始化spring上下文的servlet。 servlet是从war文件初始化的。

问题是不会扫描jar文件中的@Component(和@Service等)注释。它给出了NoSuchBeanDefinitionException错误。我已在上下文xml中声明了以下内容。

<context:component-scan base-package="com.abc.mypack" />

在使用eclipse构建jar时,我也选择了“添加目录条目”。

如果我更改为基于xml的配置,它可以正常工作。或者,如果我将jar文件移动到war文件的WEB-INF / lib,它就可以工作。

有没有办法扫描jboss服务器lib目录中的组件?

我使用的是Spring 3.1和Jboss AS 6.

1 个答案:

答案 0 :(得分:2)

这些注释不扫描库。他们扫描包,这意味着包含这些包的库需要在类路径上。

您所指的库很可能是在不同的类加载器上。

我建议将jar打包在war的WEB-INF / lib目录中。