java - Spring导入看不到资源

标签 java xml eclipse spring

我正在使用 Spring 来处理我的依赖项注入(inject),并且我目前正在编写一个 jar,该 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/ 目录下的所有 jar 中,logger-1.0.jar 在包资源管理器中其名称旁边有一个明显的图标。它的图标中有一个小问号(“?”)。

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

但这就是我对 Eclipse 和 Spring 的了解逐渐停止的地方。

有什么想法吗?

最佳答案

我认为问题可能出在 spring 处理程序上,您可能已经定义了此 namespace http://camel.apache.org/schema/spring在 client-config.xml 中,Spring 通常为应用程序上下文中定义的每个 namespace 定义 namespace 处理程序。这些处理程序在名为 spring.handlers 的文件中定义,并包含在本例中的相应 jar 中 (camel-spring-X.jar)。

关于java - Spring导入看不到资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7600256/

相关文章:

java - 在 TextArea JAVA 中读取文件

java - mac上运行java的问题

eclipse - Gradle(包装器)+ STS + Spring Boot:错误:找不到或加载主类1.1,

Java 找不到任何数组的符号?

c++ - boost::property_tree::xml_writer_settings 编译错误

java - Mybatis 将多个结果集映射到对象内部集合

xml - 在PowerShell上将节点从一种XML导入到另一种XML

java - 我可以通过 Eclipse 在 Glassfish 中部署 .EAR 吗?

java - Eclipse - 如何定义在 Java 配置执行之前执行的批处理文件?

java - 使用 JAXB 处理 <property key ='name' value ='Foo'/> 而不是 <name>Foo</name>