设为首页 收藏本站
查看: 615|回复: 0

[经验分享] linux下weblogic部署SSH项目出现问题 org.hibernate.hql.ast.HqlToken

[复制链接]

尚未签到

发表于 2016-3-29 08:39:08 | 显示全部楼层 |阅读模式
Windows下 Tomcat下的SSH项目要部署到linux weblogic下,首先对项目涉及目录(D:\ linux 没有盘符)相关的地方进行修改(通过System.getProperty("os.name"))。

1、将项目部署后,能访问到jsp页面,但是一提交就会出现取不到数据现象,于是乎在windows下再进行测试,是能取到数据,在同事的帮助下通过打Log,查看哪行代码有问题(Linux下自己没有相关的IDE,只能在Windows下修改代码,再将代码部署到linux下),通过主动抛异常的方式找到错误所在:
nested exception is org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken

通过网上查资料(这里不给链接了 公司的网络不敢恭维啊,又断了),大致原因就是包冲突(antlr.jar Hibernate和weblogic都要要这个包,不知道该加载谁的),有好几个解决方案,有的方案很麻烦的要修改jar包之类的,我选择了一个最简单的,修改配置文件,也就是让weblogic强制先加载项目的jar包。

weblogic.xml

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app
xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">
<container-descriptor>
<index-directory-enabled>true</index-directory-enabled>
<!-- 关键!!!先加载web-inf下的jar包 -->
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
</weblogic-web-app>

weblogic-application.xml

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-application>
<!-- 用于解决anltr jar包冲突问题 -->
<prefer-application-packages>
<package-name>antlr.*</package-name>
</prefer-application-packages>
</weblogic-application>

2、将上述配置文件加到项目上,从新部署项目,然而又出现下面的问题:
java.lang.NoSuchMethodError: javax.xml.transform.dom.DOMResult.getNextSibling()Lorg/w3c/dom/Node;
        at org.apache.xalan.transformer.TransformerIdentityImpl.createResultContentHandler(TransformerIdentityImpl.java:201)
        at org.apache.xalan.transformer.TransformerIdentityImpl.setDocumentLocator(TransformerIdentityImpl.java:881)
        at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.setDocumentLocator(DomHelper.java:233)
        at com.opensymphony.xwork2.util.location.LocationAttributes$Pipe.setDocumentLocator(LocationAttributes.java:302)
        at com.opensymphony.xwork2.util.DomHelper$StartHandler.setDocumentLocator(DomHelper.java:292)
        Truncated. see log file for complete stacktrace

我感觉是xml无法解析,是不是配置文件和weblogic版本不一致的原因,由于我的网又被断了,不能百度,Google现在在中国基本废了。在指导人的帮助下,说是jar包冲突。于是将xml-apis-1.0.b2.jar和xercesImpl.jar删了,问题终于解决了。

PS:对于有经验的人来说这些问题都可以自己独立解决,然而对于我这个刚从大学毕业大学生来说,自己解决方案还是很少,就像第一个错误,我一直在找我部署的问题,我直接部署的是文件夹而不是war包的形式,还有就是需要打断点来找错我所在(然而Linux下没有IDE),可以通过打log来找问题所在的地方,还有就是项目做的比较完善,有的异常没有抛出来,需要自己抛。最后一点就是公司的网啊...真是不敢恭维,我大周末的来重现问题,又断网了...

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-196943-1-1.html 上篇帖子: zz weblogic 9.2 LINUX安装全过程![ 图形] 含ESB安装 下篇帖子: 在Linux下使用WebLogic下部署后不能显示图片问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表