片段:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd
http://www.springframework.org/schema/context/spring-context-3.1.xsd">
<!-- http://www.springframework.org/schema/aop -->
<!-- http://www.springframework.org/schema/aop/spring-aop.xsd"> -->
<context:component-scan base-package="myPackage" />
执行后我看到以下消息:
WARN [WrapperSimpleAppMain] [XmlBeanDefinitionReader]忽略XML 验证警告org.xml.sax.SAXParseException; lineNumber:14; columnNumber:80; SchemaLocation:schemaLocation value = 'http://www.springfr amework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.spri ngframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd
http://www.springfra mework.org/schema/context/spring-context-3.1.xsd' 必须有偶数个URI。 在com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198)
如何正确解决这个问题?
答案 0 :(得分:12)
您的schemaLocation
值应为
namespace-name schema-location [namespace-name schema-location]
你错过了
http://www.springframework.org/schema/context
前
http://www.springframework.org/schema/context/spring-context-3.1.xsd
因此应该是
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd">
请注意,我已将util
架构更改为3.1版。不要混搭。使用所有相同的版本。
答案 1 :(得分:1)
SchemaLocation必须采用 namespace-name schema-location [namespace-name schema-location]
例如
xmlns:mytag="http://www.brajesh.com/tagsDef"
xsi:schemaLocation="http://www.brajesh.com/tagsDef
http://www.brajesh.com/tagsDef.xsd"
在这里,我们将传达给xml,我们将使用我的自定义标记“mytag”&#39;在http://www.brajesh.com/tagsDef
名称空间位置中定义。
您可以在http://www.brajesh.com/tagsDef.xsd
的{{1}}位置验证这些代码。
由于这个原因,架构位置必须具有偶数URL。