0

我有一个带有 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>

有任何想法吗?

4

1 回答 1

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>
于 2012-09-13T11:45:06.540 回答