我使用了春天2.2。我最近升级到春季4.1.4。
我的项目使用以下应用程序上下文:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:int="http://www.springframework.org/schema/integration"
xmlns:int-file="http://www.springframework.org/schema/integration/file"
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/integration
classpath:com/alu/motive/smdm/mediation/process/orchestration/activity/spring-integration.xsd">
请注意,我使用classpath来引用spring integration xsd文件,因为我没有在spring jar文件中看到spring.shemas。 当我运行该应用程序时,我收到以下异常: 线程“Thread-8”中的异常org.springframework.beans.factory.parsing.BeanDefinitionParsingException:配置问题:无法找到XML架构命名空间的Spring NamespaceHandler [http://www.springframework.org/schema/integration]
可能,根本原因来自缺少spring.handlers文件。 你能告诉我解决问题的最佳方法是什么吗?
答案 0 :(得分:0)
不幸的是,您的命名空间配置未满。
您声明int
和int-file
nls,不要声明他们的schemaLocation
。
如果你真的对Spring Integration感兴趣并且在类路径中有适当的jar,请添加他们的schemaLocation
:
http://www.springframework.org/schema/integration/file http://www.springframework.org/schema/integration/file/spring-integration-file.xsd
http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration.xsd
答案 1 :(得分:0)
我刚刚发现了我的问题。 我忘了在我的类路径中添加spring-integration-core-4.1.2.RELEASE.jar。
FI,我不再需要在应用程序上下文xml文件中使用classpath。 spring.shemas&amp; spring.handlers文件包含在spring-integration-core-4.1.2.RELEASE.jar。
中