冷面阎罗
低调做人&&高调做事
随笔 - 206, 文章 - 3, 评论 - 525, 引用 - 0
数据加载中……
spring学习(一)
今天开始学习《Spring 开发指南》,按照上面的配置,运行spring的第一程序,结果发现就出现错误。主要有下面2个错误,呵呵,建议有人修改一下《Spring 开发指南》,以免后人再犯同样的错误,而且找半天还找不到解决的办法。
其一:错误现象如下:
java.lang.NoClassDefFoundError: org
/
apache
/
commons
/
logging
/
LogFactory
at org.springframework.util.ClassUtils.
<
clinit
>
(ClassUtils.java:
73
)
at org.springframework.core.io.DefaultResourceLoader.
<
init
>
(DefaultResourceLoader.java:
52
)
at org.springframework.context.support.AbstractApplicationContext.
<
init
>
(AbstractApplicationContext.java:
198
)
at org.springframework.context.support.AbstractRefreshableApplicationContext.
<
init
>
(AbstractRefreshableApplicationContext.java:
80
)
at org.springframework.context.support.AbstractXmlApplicationContext.
<
init
>
(AbstractXmlApplicationContext.java:
58
)
at org.springframework.context.support.FileSystemXmlApplicationContext.
<
init
>
(FileSystemXmlApplicationContext.java:
121
)
at org.springframework.context.support.FileSystemXmlApplicationContext.
<
init
>
(FileSystemXmlApplicationContext.java:
68
)
at test.UpperActionTest.test_execte(UpperActionTest.java:
15
)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39
)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25
)
at java.lang.reflect.Method.invoke(Method.java:
597
)
at junit.framework.TestCase.runTest(TestCase.java:
168
)
at junit.framework.TestCase.runBare(TestCase.java:
134
)
at junit.framework.TestResult$
1
.protect(TestResult.java:
110
)
at junit.framework.TestResult.runProtected(TestResult.java:
128
)
at junit.framework.TestResult.run(TestResult.java:
113
)
at junit.framework.TestCase.run(TestCase.java:
124
)
at junit.framework.TestSuite.runTest(TestSuite.java:
232
)
at junit.framework.TestSuite.run(TestSuite.java:
227
)
at org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:
76
)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:
45
)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:
38
)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:
460
)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:
673
)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:
386
)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:
196
)
这个错误,其实不是书上的错误,是因为我们少引入一个jar包:commons-logging.jar。
其二,错误现象如下:
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line
1
in XML document from file [E:\eclipse
-
SDK
-
3.4
\workspace\spring\bean.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc
-
elt.
1
: Cannot find the declaration of element
'
beans
'
.
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:
369
)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:
313
)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:
290
)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:
142
)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:
158
)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:
184
)
at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:
112
)
at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:
79
)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:
97
)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:
411
)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:
338
)
at org.springframework.context.support.FileSystemXmlApplicationContext.
<
init
>
(FileSystemXmlApplicationContext.java:
124
)
at org.springframework.context.support.FileSystemXmlApplicationContext.
<
init
>
(FileSystemXmlApplicationContext.java:
68
)
at test.UpperActionTest.test_execte(UpperActionTest.java:
15
)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39
)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25
)
at java.lang.reflect.Method.invoke(Method.java:
597
)
at junit.framework.TestCase.runTest(TestCase.java:
168
)
at junit.framework.TestCase.runBare(TestCase.java:
134
)
at junit.framework.TestResult$
1
.protect(TestResult.java:
110
)
at junit.framework.TestResult.runProtected(TestResult.java:
128
)
at junit.framework.TestResult.run(TestResult.java:
113
)
at junit.framework.TestCase.run(TestCase.java:
124
)
at junit.framework.TestSuite.runTest(TestSuite.java:
232
)
at junit.framework.TestSuite.run(TestSuite.java:
227
)
at org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:
76
)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:
45
)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:
38
)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:
460
)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:
673
)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:
386
)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:
196
)
Caused by: org.xml.sax.SAXParseException: cvc
-
elt.
1
: Cannot find the declaration of element
'
beans
'
.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:
195
)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:
131
)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:
384
)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:
318
)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:
1887
)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:
685
)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:
400
)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:
626
)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:
3084
)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:
912
)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:
645
)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:
140
)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:
508
)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:
807
)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:
737
)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:
107
)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:
225
)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:
283
)
at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:
78
)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:
361
)
32
more
这个错误就是书上的错误了。问题是因为bean.xml写的有问题,书上这样
<
beans
>
<
description
>
Spring Quick Start
</
description
>
<
bean id
=
"
TheAction
"
class
=
"
com.neusoft.wang_xj.actionImpl.UpperAction
"
>
<
property name
=
"
message
"
>
<
value
>
HeLLo
</
value
>
</
property
>
</
bean
>
</
beans
>
是不正确。修改成这样:
<?
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:aop
=
"
http://www.springframework.org/schema/aop
"
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-2.0.xsd
http:
//
www.springframework.org/schema/aop
http:
//
www.springframework.org/schema/aop/spring-aop-2.0.xsd
http:
//
www.springframework.org/schema/tx
http:
//
www.springframework.org/schema/tx/spring-tx-2.0.xsd
http:
//
www.springframework.org/schema/context
http:
//
www.springframework.org/schema/context/spring-context-2.5.xsd">
<
bean id
=
"
TheAction
"
class
=
"
com.neusoft.wang_xj.actionImpl.UpperAction
"
>
<
property name
=
"
message
"
>
<
value
>
HeLLo
</
value
>
</
property
>
</
bean
>
</
beans
>
问题就解决了。
不知道你按照我说的修改,问题解决了么?
posted on 2008-09-25 20:38
冷面阎罗
阅读(457)
评论(1)
编辑
收藏
所属分类:
java
评论
#
re: spring学习(一)
回复
更多评论
俺都学不过来了
2008-09-26 09:56 |
猪
IT新闻
新用户注册
刷新评论列表
标题
姓名
主页
验证码
*
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
相关文章:
spring学习(二)
spring学习(一)
eclispe配置weblogic9
weblogic java.lang.OutOfMemoryError PermGen space及其解决方法
使用JDBC访问DB2的问题:no db2jdbc in java.library.path
多重子查询提取每次子查询的SQL语句
jdk版本的问题
Editplus编译执行JAVA程序
反编译工具jad简单用法
javax.servlet.ServletException: [HTTP:101249]
Powered by:
BlogJava
Copyright © 冷面阎罗
导航
管理
文章档案
2007年5月 (1)
2007年4月 (1)
2007年3月 (1)
最新评论
1. re: 【转】javascript里的document.all用法
document.all 太烦了,还是byID好些
--查看者
2. re: 改进java万年历,前几天看到别人写的java万年历,其中不足之处多多[未登录]
如果加上阴阳历转换就很棒!
--java菜鸟
3. re: 关于创建oracle dblink 过程的几点心得吧[未登录]
路过,浇花
<a href="www.qzxseo.org">重庆seo</a>
--lily
4. re: 大家一起研究一下有关weblogic的方向代理
评论内容较长,点击标题查看
--ufo
5. re: 关于创建oracle dblink 过程的几点心得吧
一个贴子到处转。还给自己说是总结 。。哎。。
--123