WebLogic问题集锦

1.weblogic与Antlr包冲突,weblogic优先加载web应用lib下的包 antlrcaused by: org.springframework.orm.hibernate3.HibernateQueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken

报错截图
报错日志
caused by: org.springframework.orm.hibernate3.HibernateQueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken
Caused by: org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken
问题原因:
使用Hibernate的工程部署到WebLogic下时,经常会出现ClassNotFoundException:org.hibernate.hql.ast.HqlToken的问题,出现该问题的主要原因在于WebLogic已经集成了antlr.jar包,在使用Hibernate时,会先加载其自身所带的antlr.jar包,会和Hibernate捆绑的antlr-2.7.6.jar冲突,导致上述错误。(https://blog.csdn.net/z69183787/article/details/38297909
解决方法:
(1)我本次用到的方案
startWebLogic.sh(bin目录下)下添加两行,然后将应用lib目录下的antlr-2.7.5.jar复制到域路径下的lib里${DOMAIN_HOME}/lib/antlr-2.7.5.jar,重启解决

TEMP_CLASS_PATH=” D O M A I N H O M E / l i b / a n t l r 2.7.5. j a r C L A S S P A T H = {TEMP_CLASS_PATH}:${SAVE_CLASSPATH}”
部分代码

JAVA_OPTIONS="${SAVE_JAVA_OPTIONS}"

SAVE_JAVA_OPTIONS=""

TEMP_CLASS_PATH="${DOMAIN_HOME}/lib/antlr-2.7.5.jar"

CLASSPATH="${TEMP_CLASS_PATH}:${SAVE_CLASSPATH}"

SAVE_CLASSPATH=""

(2)同事方案
添加到:domains/irmsone_domain/bin/setDomainEnv.sh文件最后一行
HPRE_CLASSPATH=”/appfiles/app/weblogic/wlserver_10.3/server/lib/antlr-2.7.5.jar”
CLASSPATH=” H P R E C L A S S P A T H : {CLASSPATH}”
(3)网上参考方案(https://blog.csdn.net/zhousanlong/article/details/16884907
web-inf下放置weblogic.xml,内容如下
方式一:优先加载所有包

<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app
xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd
http://xmlns.oracle.com/weblogic/weblogic-web-app
http://xmlns.oracle.com/weblogic/weblogic-web-app/1.2/weblogic-web-app.xsd">
    <wls:container-descriptor>
        <wls:prefer-web-inf-classes>true</wls:prefer-web-inf-classes>
    </wls:container-descriptor>
</wls:weblogic-web-app>

方式二:优先加载部分类

<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app
xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd
http://xmlns.oracle.com/weblogic/weblogic-web-app
http://xmlns.oracle.com/weblogic/weblogic-web-app/1.2/weblogic-web-app.xsd">
    <wls:container-descriptor>

        <wls:prefer-application-packages>
            <wls:package-name>com.oracle.*</wls:package-name>
        </wls:prefer-application-packages>
    </wls:container-descriptor>

</wls:weblogic-web-app>

猜你喜欢

转载自blog.csdn.net/yyqjjw/article/details/81146573