在编写bean.xml文件时,报错:发现了以元素 ‘bean’ 开头的无效内容。
这个是bean.xml文件最初的编写:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="c" class="cn.ldxy.service.impl.chinese" >
<property name="axe" ref="sa"/>
</bean>
<bean id="sa" class="cn.ldxy.service.impl.StoneAxe" >
<bean id="gf" class="cn.ldxy.service.impl.gangfu" >
</beans>
这个是报的错误:
log4j:WARN No appenders could be found for logger (org.springframework.context.support.ClassPathXmlApplicationContext).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Exception in thread “main” org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 12 in XML document from class path resource [bean.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 12; columnNumber: 52; cvc-complex-type.2.4.a: 发现了以元素 ‘bean’ 开头的无效内容。应以 ‘{“http://www.springframework.org/schema/beans”:description, “http://www.springframework.org/schema/beans”:meta, “http://www.springframework.org/schema/beans”:constructor-arg, “http://www.springframework.org/schema/beans”:property, “http://www.springframework.org/schema/beans”:qualifier, “http://www.springframework.org/schema/beans”:lookup-method, “http://www.springframework.org/schema/beans”:replaced-method, WC[##other:“http://www.springframework.org/schema/beans”]}’ 之一开头。
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:404)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:224)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:195)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:257)
at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:128)
at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:94)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:133)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:624)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:520)
at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:144)
at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:85)
at cn.ldxy.service.impl.test.main(test.java:9)
Caused by: org.xml.sax.SAXParseException; lineNumber: 12; columnNumber: 52; cvc-complex-type.2.4.a: 发现了以元素 ‘bean’ 开头的无效内容。应以 ‘{“http://www.springframework.org/schema/beans”:description, “http://www.springframework.org/schema/beans”:meta, “http://www.springframework.org/schema/beans”:constructor-arg, “http://www.springframework.org/schema/beans”:property, “http://www.springframework.org/schema/beans”:qualifier, “http://www.springframework.org/schema/beans”:lookup-method, “http://www.springframework.org/schema/beans”:replaced-method, WC[##other:“http://www.springframework.org/schema/beans”]}’ 之一开头。
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:284)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator
X
S
I
E
r
r
o
r
R
e
p
o
r
t
e
r
.
r
e
p
o
r
t
E
r
r
o
r
(
X
M
L
S
c
h
e
m
a
V
a
l
i
d
a
t
o
r
.
j
a
v
a
:
452
)
a
t
c
o
m
.
s
u
n
.
o
r
g
.
a
p
a
c
h
e
.
x
e
r
c
e
s
.
i
n
t
e
r
n
a
l
.
i
m
p
l
.
x
s
.
X
M
L
S
c
h
e
m
a
V
a
l
i
d
a
t
o
r
.
r
e
p
o
r
t
S
c
h
e
m
a
E
r
r
o
r
(
X
M
L
S
c
h
e
m
a
V
a
l
i
d
a
t
o
r
.
j
a
v
a
:
3230
)
a
t
c
o
m
.
s
u
n
.
o
r
g
.
a
p
a
c
h
e
.
x
e
r
c
e
s
.
i
n
t
e
r
n
a
l
.
i
m
p
l
.
x
s
.
X
M
L
S
c
h
e
m
a
V
a
l
i
d
a
t
o
r
.
h
a
n
d
l
e
S
t
a
r
t
E
l
e
m
e
n
t
(
X
M
L
S
c
h
e
m
a
V
a
l
i
d
a
t
o
r
.
j
a
v
a
:
1790
)
a
t
c
o
m
.
s
u
n
.
o
r
g
.
a
p
a
c
h
e
.
x
e
r
c
e
s
.
i
n
t
e
r
n
a
l
.
i
m
p
l
.
x
s
.
X
M
L
S
c
h
e
m
a
V
a
l
i
d
a
t
o
r
.
s
t
a
r
t
E
l
e
m
e
n
t
(
X
M
L
S
c
h
e
m
a
V
a
l
i
d
a
t
o
r
.
j
a
v
a
:
740
)
a
t
c
o
m
.
s
u
n
.
o
r
g
.
a
p
a
c
h
e
.
x
e
r
c
e
s
.
i
n
t
e
r
n
a
l
.
i
m
p
l
.
X
M
L
N
S
D
o
c
u
m
e
n
t
S
c
a
n
n
e
r
I
m
p
l
.
s
c
a
n
S
t
a
r
t
E
l
e
m
e
n
t
(
X
M
L
N
S
D
o
c
u
m
e
n
t
S
c
a
n
n
e
r
I
m
p
l
.
j
a
v
a
:
374
)
a
t
c
o
m
.
s
u
n
.
o
r
g
.
a
p
a
c
h
e
.
x
e
r
c
e
s
.
i
n
t
e
r
n
a
l
.
i
m
p
l
.
X
M
L
D
o
c
u
m
e
n
t
F
r
a
g
m
e
n
t
S
c
a
n
n
e
r
I
m
p
l
XSIErrorReporter.reportError(XMLSchemaValidator.java:452) at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3230) at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1790) at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:740) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:374) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl
XSIErrorReporter.reportError(XMLSchemaValidator.java:452)atcom.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3230)atcom.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1790)atcom.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:740)atcom.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:374)atcom.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImplFragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2784)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:841)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:243)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:339)
at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:77)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadDocument(XmlBeanDefinitionReader.java:434)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:392)
… 14 more
后来修改了:
<bean id="sa" class="cn.ldxy.service.impl.StoneAxe" />
<bean id="gf" class="cn.ldxy.service.impl.gangfu" />
后成功运行。
这个问题注意bean前的结束标签,看看是否少了。