ssh框架常见错误与解决方法
生活随笔
收集整理的這篇文章主要介紹了
ssh框架常见错误与解决方法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.
Class not Found Exception 異常.
---->解決方法:
在lib中加入兩個jar包(spring.jar與struts2- ?spring-plugin-2.1.8.1.jar);
2.
使用hql語句時出現(xiàn)java.lang.reflect.InvocationTargetException(即使用hql回調(diào)函數(shù)帶參數(shù)時) 或者是antlr.collections.AST.getLine()I異常?
---->解決方法:(
antlr.collections.AST.getLine()I異常?
我用的myeclipse8.6, 裝在 D:\MyEclipse8.6\,SSH組合完成后,執(zhí)行hibernate的HQL查詢時,報錯:
java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I
看來是antlr這個語法解析包出錯
因為Struts自帶的antlr-2.7.2.jar,比Hibernate3.3自帶的antlr-2.7.6.jar的版本要低,
故要刪除前一個低版本的,, struts1.3 和2.1都帶有antlr-2.7.2.jar ,下面我要把?
它們都清除了,由于myeclipse 添加的struts性能不是放在工程lib下的,而是myeclipse自帶的,
所以刪除比較麻煩,,我覺得最簡單的做法應(yīng)該是這樣:
D:\MyEclipse8.6\MyEclipse-8.6\configuration\org.eclipse.osgi\bundles 下搜索antlr-2.7.2.jar
完成后能看到的,都刪除掉,,(可能有些是在1.3下面的,有些是在2.1下面的)
然后在 D:\MyEclipse8.6\Common\plugins 搜索 *struts*.jar 會發(fā)現(xiàn),出來三個
選中 一個文件,,打開方式選擇壓縮包,,我的winRAR的,
com.genuitec.eclipse.cross.easystruts.eclipse_8.6.0.me201007231647.jar 在lib下
和data\1.3下要刪除antlr-2.7.2.jar(這個是刪除1.3里面的)
而再打開 com.genuitec.eclipse.struts2_8.6.0.me201007292038.jar data\2.1\core 下
刪除antlr-2.7.2.jar (這個是2.1里面的)
好了,,這個就從struts1.3和2.1中移除了,,因為這兩個jar是common目錄下的,所以刪除了后,
再運行myeclipse后, myeclipse就不能再從這兩個包中找antlr-2.7.2.jar 并?
加載了
注意:如果程序已經(jīng)運行過,則同時需要刪除TOMCAT下的antlr-2.7.2.jar)
3.
(使用JSONObject與JSONArray時出現(xiàn)的問題)程序運行到 JSONObject j=JSONObject.fromObject(map)?
這部分后就沒反應(yīng)了,無任何異常拋出
---->解決方法:(本文來自:http://blog.sina.com.cn/s/blog_6853c03b0100p4nx.html
這句話前面和后面都加上了打印信息,運行結(jié)果是前面有打印,后面沒有打印,也沒有任何異常拋出,
就這么莫名其妙的斷掉了。
我把這段代碼拿到j(luò)unit下測試 就報錯了。java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException錯誤,查了下原因原來是少了3個包。
因為我在使用json的時候只導(dǎo)入了json-lib-2.1.jar這個包但是程序還需要這4個包:
commons-beanutils-1.7.0.jar
commons-collections-3.2.jar
commons-lang-2.1.jar
ezmorph-1.0.2.jar
導(dǎo)入之后就發(fā)現(xiàn) OK了)
4.
?JSON對象(包括對象數(shù)組)轉(zhuǎn)字符串?
json
var OString = function(O) {?
? ? var S = [];?
? ? for ( var i in O) {?
? ? ? ? O[i] = typeof O[i] == 'string' ? '"' + O[i] + '"' : (typeof O[i] == 'object' ? OString(O[i]) : O[i]);?
? ? ? ? S.push(i + ':' + O[i]);?
? ? }?
? ? return '{' + S.join(',') + '}';?
};?
Class not Found Exception 異常.
---->解決方法:
在lib中加入兩個jar包(spring.jar與struts2- ?spring-plugin-2.1.8.1.jar);
2.
使用hql語句時出現(xiàn)java.lang.reflect.InvocationTargetException(即使用hql回調(diào)函數(shù)帶參數(shù)時) 或者是antlr.collections.AST.getLine()I異常?
---->解決方法:(
antlr.collections.AST.getLine()I異常?
我用的myeclipse8.6, 裝在 D:\MyEclipse8.6\,SSH組合完成后,執(zhí)行hibernate的HQL查詢時,報錯:
java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I
看來是antlr這個語法解析包出錯
因為Struts自帶的antlr-2.7.2.jar,比Hibernate3.3自帶的antlr-2.7.6.jar的版本要低,
故要刪除前一個低版本的,, struts1.3 和2.1都帶有antlr-2.7.2.jar ,下面我要把?
它們都清除了,由于myeclipse 添加的struts性能不是放在工程lib下的,而是myeclipse自帶的,
所以刪除比較麻煩,,我覺得最簡單的做法應(yīng)該是這樣:
D:\MyEclipse8.6\MyEclipse-8.6\configuration\org.eclipse.osgi\bundles 下搜索antlr-2.7.2.jar
完成后能看到的,都刪除掉,,(可能有些是在1.3下面的,有些是在2.1下面的)
然后在 D:\MyEclipse8.6\Common\plugins 搜索 *struts*.jar 會發(fā)現(xiàn),出來三個
選中 一個文件,,打開方式選擇壓縮包,,我的winRAR的,
com.genuitec.eclipse.cross.easystruts.eclipse_8.6.0.me201007231647.jar 在lib下
和data\1.3下要刪除antlr-2.7.2.jar(這個是刪除1.3里面的)
而再打開 com.genuitec.eclipse.struts2_8.6.0.me201007292038.jar data\2.1\core 下
刪除antlr-2.7.2.jar (這個是2.1里面的)
好了,,這個就從struts1.3和2.1中移除了,,因為這兩個jar是common目錄下的,所以刪除了后,
再運行myeclipse后, myeclipse就不能再從這兩個包中找antlr-2.7.2.jar 并?
加載了
注意:如果程序已經(jīng)運行過,則同時需要刪除TOMCAT下的antlr-2.7.2.jar)
3.
(使用JSONObject與JSONArray時出現(xiàn)的問題)程序運行到 JSONObject j=JSONObject.fromObject(map)?
這部分后就沒反應(yīng)了,無任何異常拋出
---->解決方法:(本文來自:http://blog.sina.com.cn/s/blog_6853c03b0100p4nx.html
這句話前面和后面都加上了打印信息,運行結(jié)果是前面有打印,后面沒有打印,也沒有任何異常拋出,
就這么莫名其妙的斷掉了。
我把這段代碼拿到j(luò)unit下測試 就報錯了。java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException錯誤,查了下原因原來是少了3個包。
因為我在使用json的時候只導(dǎo)入了json-lib-2.1.jar這個包但是程序還需要這4個包:
commons-beanutils-1.7.0.jar
commons-collections-3.2.jar
commons-lang-2.1.jar
ezmorph-1.0.2.jar
導(dǎo)入之后就發(fā)現(xiàn) OK了)
4.
?JSON對象(包括對象數(shù)組)轉(zhuǎn)字符串?
json
var OString = function(O) {?
? ? var S = [];?
? ? for ( var i in O) {?
? ? ? ? O[i] = typeof O[i] == 'string' ? '"' + O[i] + '"' : (typeof O[i] == 'object' ? OString(O[i]) : O[i]);?
? ? ? ? S.push(i + ':' + O[i]);?
? ? }?
? ? return '{' + S.join(',') + '}';?
};?
總結(jié)
以上是生活随笔為你收集整理的ssh框架常见错误与解决方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Matlab制作朱利表
- 下一篇: JS只能输入数字,数字和字母等的正则表达