我有一个带有applicationContext.xml的maven web应用程序,它报告以下错误:
此行找到多个注释: - cvc-complex-type.2.3:元素'beans'不能有字符[children],因为类型的内容类型只是元素。
XML的主体是:
<?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:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd">
${build.system.jobscheduler}
</beans>
当我删除$ {build.system.jobscheduler}时,错误就消失了。这在web / pom.xml中声明为:
<build.system.jobscheduler><![CDATA[<!-- No job scheduler -->]]></build.system.jobscheduler>
有什么想法吗?
答案 0 :(得分:0)
发生错误是因为xml架构:
http://www.springframework.org/schema/beans/spring-beans.xsd
不允许在<beans>
元素中使用此类表达式。
我不知道 $ {build.system.jobscheduler} 的内容。
如果是类名,你可以尝试这样的事情:
<beans>
<bean id="jobschedulerHolder" class="myapp.JobSchedulerHolder">
<property name="jobschedulerClassName" value="${build.system.jobscheduler}" />
</beans>