<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    xskow's road.

    做好自己,做好一切。
    數據加載中……
    【轉】ClassNotFoundException:org.hibernate.hql.ast.HqlToken-weblogic使用hibernate hql問題解決

    一般我們使用hibernate,最喜歡用的應該就是hql查詢吧,較為靈活寫法也跟sql相似,不過有的同志喜歡用criteria查詢的可能不會看到這個異常信息,呵呵。

    今天把一hibernate war項目部署到wl10.3.3上,部署是不會報錯的,但是當你點到某個功能,這個功能下面有hql查詢,就會報錯,報錯信息如下:

    java.lang.RuntimeException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken [select ...]; nested exception is org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken [select ...]
    at …
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3686)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    >

    通過自己做的JarFinder小工具,明顯可以在部署的war包中看到 org.hibernate.hql.ast.HqlToken 類,在hibernate-core-3.3.0.GA.jar中,這報錯不正常啊,估計就是某些包跟wl沖突了,后來google了一下,找到一個國外的帖子,說是antlr的問題,親身試驗了一次,果然是這個問題,現在就把解決方法跟大家分享下:

    將你的war包打入ear包中,當然你還需要有META-INF文件,帶有weblogic-application.xml和application.xml,主要就是在weblogic-application.xml中解決,聲明prefer-application-packages,如下所示(關鍵line3-5):

    <?xml version="1.0" encoding="UTF8"?>
    <weblogic-application>
    <prefer-application-packages>
    <package-name>antlr.*</package-name>
    </prefer-application-packages>
    </weblogic-application>

    而application.xml就較為簡單了,這里就不說了,相信打過ear包的都應該知道怎么回事,呵呵.打包后再次發布,問題解決。

    附上解決問題原帖鏈接:http://forum.springsource.org/showthread.php?t=36860

    不會寫application.xml的可以參考一下java的dtd:http://java.sun.com/dtd/

    再附上一篇08年的英文文章,blogspot的,講的是weblogic jws+spring+hibernate開發的,需要翻墻才能看到:http://timezra.blogspot.com/2008/09/spring-hibernate-and-jax-ws-webservices.html

    歡迎討論~


    原文鏈接:http://www.shaojiahao.org/java/hibernate/weblogic-hibernate-hql-problem

    posted on 2010-11-15 14:51 xskow! 閱讀(1041) 評論(0)  編輯  收藏 所屬分類: SSH探索

    links:
    主站蜘蛛池模板: 成人午夜免费福利| 在线看片免费不卡人成视频| 亚洲精品在线视频| 最新亚洲人成网站在线观看 | 999国内精品永久免费观看| 亚洲色图在线观看| 亚洲一级毛片免费看| 亚洲精品视频免费在线观看| 噼里啪啦免费观看高清动漫4| 亚洲videos| 蜜桃精品免费久久久久影院| 国产精品亚洲专区无码不卡| 亚洲国产天堂久久久久久| 久久WWW免费人成—看片| 亚洲成AV人片一区二区| 99免费视频观看| 亚洲中文无码mv| 少妇亚洲免费精品| 免费看无码特级毛片| 亚洲黄色在线网站| 在线a毛片免费视频观看| 边摸边脱吃奶边高潮视频免费| 亚洲欧洲日产国码高潮αv| A片在线免费观看| 亚洲人成在线中文字幕| 日本视频免费在线| 精品国产免费一区二区三区| 亚洲第一精品在线视频| 日韩精品视频免费观看| 久久久WWW免费人成精品| 亚洲黄色在线电影| 亚洲成年看片在线观看| 日本卡1卡2卡三卡免费| 亚洲色无码国产精品网站可下载| 亚洲精品国精品久久99热| 91av免费观看| 免费在线观看亚洲| 久久久久亚洲精品无码蜜桃| 免费少妇a级毛片| 亚欧在线精品免费观看一区| 一区免费在线观看|