posts - 325,  comments - 25,  trackbacks - 0
           最近看《WebWork.Spring.Hibernate整合開發(fā)網(wǎng)絡(luò)書城》視頻教程,自己按照教程上說的做練習(xí),在啟動(dòng)tomcat時(shí)總是出一個(gè)錯(cuò)誤:

                2007-5-31 14:27:13 org.apache.catalina.core.StandardContext start
               
          嚴(yán)重: Error listenerStart
                2007-5-31 14:27:13 org.apache.catalina.core.StandardContext start
                嚴(yán)重: Context [/testWSH] startup failed due to previous errors
             
               
          教程的作者在錄制教程時(shí)也遇到了此問題,但是他刪了一個(gè)jar包后就沒事了,可是我的一直無法正常啟動(dòng),從昨天到現(xiàn)在一天的時(shí)間都在研究這個(gè)問題,也“百 度”到了很多有關(guān)此問題的信息,但是都沒有很明確的解決方案。現(xiàn)在此問題已經(jīng)解決,而且基本肯定問題所在,所以將解決方案寫出來以供參考。

                有一種解決方案是把web.xml文件中的

          <listener>       <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
          listener>
          改為
             <servlet>
            <servlet-name>SpringContextServlet</servlet-name>
            <servlet-class>
             org.springframework.web.context.ContextLoaderServlet
            </servlet-class>
            <load-on-startup>1</load-on-startup>
           </servlet>
                但這種方法可能會(huì)出現(xiàn)其他問題(網(wǎng)上又說會(huì)導(dǎo)致其他文件無法打開)。
             

              我的最終解決方案如下:
                我用的是tomcat5.5,配置了日志之后打印出下列信息:
                 ERROR main org.springframework.web.context.ContextLoader - Context initialization failed
          org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool
          Caused by:
          java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool
              at java.lang.Class.getDeclaredConstructors0(Native Method)
              at java.lang.Class.privateGetDeclaredConstructors(Class.java:2328)
              at java.lang.Class.getConstructor0(Class.java:2640)
              at java.lang.Class.getDeclaredConstructor(Class.java:1953)
              ……


               
          從日志信息看問題已經(jīng)很明顯了,是 applicationContext.xml dataSource  
          問題。

          <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
          <!--[if !supportLineBreakNewLine]-->
          改為
          <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
          之后問題得到解決。 

                 出現(xiàn)"Error listenerStart"一般是applicationContext.xml中的bean加載有問題。在用eclipse做webwork + spring + hibernate 的項(xiàng)目時(shí)一般都是用Myeclipse自動(dòng)生成那些配置文件,而有些相關(guān)的jar或者文件并沒有加載在至項(xiàng)目中,以至引出奇怪的問題,又因?yàn)槭亲詣?dòng)生成的東西所以往往會(huì)忽略一些文件,而問題確恰恰是這些生成的文件所致,所以自動(dòng)化的東西也未必一定是正確的,呵呵……

              org.springframework.jdbc.datasource.DriverManagerDataSource不可以使用連接池。org.apache.commons.dbcp.BasicDataSource作為注入的DataSource源,為了使用 DBCP的功能,必須要將commons-dbcp.jar加入CLASSPATH中,另外還需要commons-pool.jar和commons- collections.jar,這些都可以在Spring的lib目錄下找到。

          org.springframework.jdbc.datasource.DriverManagerDataSource并沒有提供連接池的功能,只能作作簡單的單機(jī)連接測試。
          使用org.apache.commons.dbcp.BasicDataSource時(shí)缺少commons-pool.jar所以會(huì)出現(xiàn)如題的問題。

          再次修正:

              昨天又遇到此問題,解決的辦法是刪除無用的jar。

              工程是 spring+hibernate+tomcat5.5.25,jar都是用eclipse自動(dòng)加載的,很多jar明顯的用不到,例如:ibatis,toplink等。將無用的jar刪除后問題解決。

          posted on 2008-05-15 15:22 長春語林科技 閱讀(1315) 評論(0)  編輯  收藏 所屬分類: java
          <2008年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

           

          長春語林科技?xì)g迎您!

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          收藏夾

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 牟定县| 湘西| 禹州市| 鄄城县| 丰城市| 子长县| 绥宁县| 宁南县| 育儿| 宁安市| 曲松县| 教育| 朝阳县| 东山县| 沁阳市| 万宁市| 奉节县| 精河县| 蚌埠市| 祁门县| 开化县| 多伦县| 高邑县| 同德县| 贡觉县| 深圳市| 横峰县| 杭锦旗| 札达县| 即墨市| 兴和县| 镇远县| 宜丰县| 华池县| 建德市| 贵德县| 金门县| 汶川县| 巩留县| 永清县| 明水县|