Spring导入无法查看资源

时间:2011-09-29 16:12:40

标签: java xml eclipse spring

我正在使用Spring来处理我的依赖注入,我现在正在编写一个jar,它使用了我之前做过的本土logging-1.0.jar。我在Eclipse中写这个,这可能很重要。

logging-1.0.jar中有一个名为logging-base.xml的关键配置文件,其中设置了各种环境属性,以便我的记录器正常工作。

我的新jar正在Ant中编译/构建,但在运行时抛出异常声明:

Exception in thread "main"     
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: 
Configuration problem: Failed to import bean definitions from URL location 
[classpath:logging-base.xml] Offending resource: class path resource
[spring/client-config.xml]; nested exception is 
org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
Configuration problem: Unable to locate Spring NamespaceHandler for XML schema
namespace [http://camel.apache.org/schema/spring]

Offending resource: class path resource [logging-base.xml]

所以看起来Spring找不到我的logging-base.xml文件,因为它不是“在类路径中”。在我的项目中,我有一个lib/目录,其中存储了所有依赖的jar。当我将一个新jar复制到这个目录中时,我只需右键单击它并转到构建路径>>添加到构建路径,Eclipse为运行时提供该jar的引用。

在我的lib/目录下的所有广告中, logger-1.0.jar 在资源包浏览器中的名称旁边有一个独特的图标。它的图标中有一个小问号(“?”)。

所以我猜测,不知怎的,我的日志jar没有正确配置,因此,没有将其logging-base.xml文件添加到类路径中。因此,在运行时,Spring无法找到它。

但这就是我对Eclipse和Spring的了解停止的原因。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我认为问题可能出在spring处理程序上,你可能在client-config.xml中定义了这个名称空间http://camel.apache.org/schema/spring,Spring通常为应用程序中定义的每个名称空间定义名称空间处理程序上下文。这些处理程序在名为spring.handlers的文件中定义,在这种情况下包含在相应的jar中(camel-spring-X.jar)。

答案 1 :(得分:0)

你可能想要在xerces.jar目录中添加jre6\lib\ext,试试这个......因为它帮助我解决了这个问题!