将Web应用程序导入Eclipse时出现applicationContext.xml错误

时间:2012-09-13 04:23:27

标签: spring maven spring-mvc

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

有什么想法吗?

1 个答案:

答案 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>