Ниже приведен код servlet-context.xml в моем весеннем проекте. Я хочу импортировать файл demo.xml, если профиль prod, и demo-test.xml, если профиль тестовый.
<beans:beans xmlns = "http://www.springframework.org/schema/mvc"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xmlns:beans = "http://www.springframework.org/schema/beans"
xmlns:task = "http://www.springframework.org/schema/task"
xmlns:context = "http://www.springframework.org/schema/context"
xsi:schemaLocation = "
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.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-3.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- Enables the Spring MVC @Controller programming model -->
<annotation-driven />
<beans profile = "test">
<import resource = "demo-test.xml"></import>
</beans>
<beans profile = "prod">
<import resource = "demo.xml"></import>
</beans>
<task:annotation-driven
executor = "defaultExecutor"/>
<!-- add an exception handler here. -->
<task:executor id = "defaultExecutor"
pool-size = "50-200"
queue-capacity = "1200"
keep-alive = "10"
rejection-policy = "CALLER_RUNS"/>
</beans:beans>
Но я получаю ошибку The matching wildcard is strict, but no declaration can be found for element 'beans'. для строки <beans profile = "test"> и 'resource' attribute should be defined для <import resource = "demo-test.xml"></import>
Основываясь на ошибка в конфигурации spring xml, связанная с профилями bean-компонентов, я даже пытался изменить контекст на «http://www.springframework.org/schema/beans/spring-beans-3.2.xsd», но безуспешно. Может ли кто-нибудь помочь мне понять, что означает эта ошибка и как я могу это исправить?




<beans:beans xmlns = "http://www.springframework.org/schema/mvc" в верхней части вашего xml-файла использует mvc вместо beans, что означает, что пространство имен по умолчанию — mvc вместо beans. Либо уточните тег bean-компонента: используйте <beans:beans profile = "test">... вместо <beans profile = "test">... и <beans:import resource... вместо <import resource..., ИЛИ измените пространство имен по умолчанию на beans, чтобы использовать xml как есть.
более того, ошибка в чем-то другом, вы можете проверить это в конце вопроса.
Смотрите правильный ответ на этот вопрос: stackoverflow.com/questions/26836345/…. <beans:beans xmlns = "http://www.springframework.org/schema/mvc" в верхней части вашего xml-файла использует mvc вместо beans, в противном случае уточните тег bean: используйте <beans:beans profile = "test">... вместо <beans profile = "test">... . Попробуйте изменить это и проверить еще раз
нет, я уже импортировал этот servlet-context.xml в свой файл Application.java в
@ImportResources