2012-09-13 48 views
0

當我有applicationContext.xml的Maven的Web應用程序,報告如下錯誤: - CVC-複雜type.2.3:在該行發現applicationContext.xml的錯誤輸入的Web應用程序到Eclipse

多個批註:元素'beans'不能包含character [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

當有作業調度,什麼將是會取代變量的字符串。 – basiljames

回答

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> 
相關問題