原项目(linux上)在weblogic进行小版本升级后,某个功能不能时候,weblogic日志报错:
ClassNotFoundException: org.hibernate.hql.ast.HqlToken [select moduleId from com.hiaward.xtransmgt.entity.DevvModule where deviceId=:deviceId]at org.hibernate.hql.ast.HqlLexer.panic
经尝试网络上多数方案不能解决,唯一可用的解决方式
在WEB-INF目录下,weblogic.xml中添加一下配置
<container-descriptor>
<prefer-application-packages>
<package-name>org.apache,commons.lang.*</package-name>
<package-name>antlr.*</package-name>
<package-name>javax.persistence.*</package-name>
<package-name>org.apache.cxf.*</package-name>
</prefer-application-packages>
</container-descriptor>
原因大概是项目的jar包和weblogic自己的jar包有重复,weblogic会使用自己的jar包。添加相关配置使系统使用项目的jar包
在Linux环境下,对WebLogic进行小版本升级后,遇到一个功能失效问题,具体表现为 ClassNotFoundException。问题根源在于项目中的jar包与WebLogic自身的jar包存在冲突。为解决此问题,在WEB-INF目录下的weblogic.xml文件中添加特定配置,指示系统优先使用项目中的jar包,从而避免了类加载错误。配置涉及的包包括org.apache, commons.lang, antlr, javax.persistence和org.apache.cxf等。

296

被折叠的 条评论
为什么被折叠?



