could not open hibernate session,struts1.3.8與hibernate3.2.5整合所遇到的問題

 2023-10-08 阅读 17 评论 0

摘要:解決Eclipse環境變量中的Web?App?Libraries下沒有jar包的問題 分類:?疑難問題2011-11-10?14:47?1154人閱讀?評論(0)?收藏?舉報 ?????今天幫同事調一個項目,里面滿是類編譯錯誤,一看就是相應的jar包沒有引入,打開build?path->configure?build?

解決Eclipse環境變量中的Web?App?Libraries下沒有jar包的問題

分類:?疑難問題2011-11-10?14:47?1154人閱讀?評論(0)?收藏?舉報

?????今天幫同事調一個項目,里面滿是類編譯錯誤,一看就是相應的jar包沒有引入,打開build?path->configure?build?path,發現Web?App?Libraries下沒有任何jar包。理應Web?App?Libraries下包含工程目錄\WebContent\WEB-INF\lib下的所有jar包,于是查看了這個目錄,發現這個項目的包目錄是這樣的:工程目錄\src\main\sample\WEB-INF\lib,問題顯然就出在這里了,找了半天,沒有找到在哪里配置這個路徑,最后,在工程目錄的.settings文件夾中org.eclipse.wst.common.component找到了相關配置,原來的配置是這樣的:

<?xml?version="1.0"?encoding="UTF-8"?>
<project-modules?id="moduleCoreId"?project-version="1.5.0">
????<wb-module?deploy-name="test">
????????<wb-resource?deploy-path="/"?source-path="/WebContent"/>
????????<wb-resource?deploy-path="/WEB-INF/classes"?source-path="/src"/>
????????<property?name="context-root"?value="test"/>
????????<property?name="java-output-path"?value="build/classes"/>
????</wb-module>
</project-modules>

修改后變為:

<?xml?version="1.0"?encoding="UTF-8"?>
<project-modules?id="moduleCoreId"?project-version="1.5.0">
????<wb-module?deploy-name="test">
????????<wb-resource?deploy-path="/"?source-path="/src/main/sample/"/>
????????<wb-resource?deploy-path="/WEB-INF/classes"?source-path="/src"/>
????????<property?name="context-root"?value="test"/>
????????<property?name="java-output-path"?value="build/classes"/>
????</wb-module>
</project-modules>

?

?

<此方法可以成功解決WEB-INF/lib/servlet-api.jar?not?loaded.>20129

?

?啟動tomcat后,控制臺輸出信息:WEB-INF/lib/servlet-api.jar?not?loaded.?See?Servlet?Spec?2.3,?section?9.7.2。網上提供的方法一般是:保證WEB-INF/libtomcat6.0?lib下的JAR包與項目的web-inf/lib沒有重復的包即可。所以,將項目的web-inf/lib下的servlet-api.jar刪掉就OK了。

?

??????但是,如果項目中存在使用servlet-api.jar的類怎么辦呢?刪掉servlet-api.jar,源程序無法編譯。could not open hibernate session?這時,有另一個辦法可以解決這樣的沖突問題:把Tomcat6.0tlib目錄下的名為servlet-api.jar的包拷貝至你的java安裝目錄下jre/lib/ext下就可以了。在myeclipse7.0中再次啟動tomcat6.0就不會再出現前面的輸出信息了。

?

?

<really??!?>

?

其實,對于兩者的包沖突問題,都可以采用類似的方法來解決。

?

<really??!?>

?

?

?

?

另外:

?

?

?

把?webapps\maintenance\WEB-INF\lib\?

下面的?servlet-api.jar?刪掉吧!?tomcat自己有,不需要你提供!?

順便看看其他的jar,?和?tomcat\lib?目錄比較一下,tomcat已經有的,就別留著了!

?

?

eclipse下啟動tomcat出現Setting?property?'source'?to?'org.eclipse.jst.jee.server:?'錯誤的解決辦法?

?

eclipse中啟動tomcat時出現Setting?property?'source'?to?'org.eclipse.jst.jee.server:你的站點名'???did?not?find?a?matching?property錯誤

?

?

?

解決辦法:

?

1、在server控制臺內,在服務器上點右鍵--屬性

?

2general選項卡中點switch?location

?

這時,location變為:/servers/tomcat6.0?server?at?localhost.server

?

3、在project?explore中找到tomcat項目--Tomcat?v6.0?Server?at?localhost.server??這個文件?,雙擊打開?

?

4、在最下面的server?option里選中publis?module?context?to?separate?xml?file.保存。(保存時要先停止服務器)

?

?

?

問題完美解決。struts2框架?

<href="http://www.ibm.com/developerworks/opensource/library/os-eclipse-tomcat/">http://www.ibm.com/developerworks/opensource/library/os-eclipse-tomcat/

?

二○一二年九月九日星期日

http://www.ibm.com/developerworks/opensource/library/os-eclipse-tomcat/

?

一個小小的錯誤浪費了兩天(911-12)2012912日星期三0時4323

?

原因所致DaoImplBase<T>?

?

?

更改后

?

?

分析原因為:

1、將Class<T>?clazz;這個接受子類的局部變量聲明為了?私有的(private)?本應該為受保護的(protectedprotected?Class<T>?clazz;這樣做類型轉換的時候就不需要用泛型clazz=(Class)<T>?pt.getActualTypeArguments()[0];

2、解決?辦法?:

更改?變量屬性為受保護的 protected?Class<T>?clazz;

此處不需要用泛型接受 clazz?=?(Class)?pt.getActualTypeArguments()[0];

經過了一番周折開始老是懷疑jar包問題,最開始總是不能加載user.hbm.xml?實體映射文件

后來通過Debug?斷點測試發現在filter?過濾器中就拋出異常了?,于是繼續跟蹤到?dao層的impl實現類?dao層繼承的是daobase?接口的方法?,跟蹤進去發現程序不能進入save()方法,顧數據不能保存。還有可能是引用了空對象(未關聯Tomcat源碼所致)

?

?

?

?

?

轉載于:https://www.cnblogs.com/mcgee/archive/2012/09/12/2681055.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/132836.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息