WebLogic 10.3下部署JBPM 4.4遇到过的问题及解决方法

来源:互联网 发布:渡边鱼子酱 知乎 编辑:程序博客网 时间:2024/05/19 09:40

本文转载于CSDN:http://blog.csdn.net/honganboy/article/details/7161122

1.org.springframework.orm.hibernate3.HibernateQueryException: ClassNotFoundExcepti on: org.hibernate.hql.ast.HqlToken 

错误原因: 在hibernate3中需要用到antlr,然而这个包在weblogic.jar中已经包含了antrl类库,就会产生一些类加载的错误,无法找到在war或者ear中的hibernate3.jar。 出现这个错误之后,antlr会调用System.exit(),这样weblogic就会中止服务。

解决步骤:

步骤1:在WEB-INF目录下建一个weblogic.xml文件,内容如下:

                       

[html] view plaincopy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <weblogic-web-app>  
  3.     <container-descriptor>  
  4.         <prefer-web-inf-classes>true</prefer-web-inf-classes>  
  5.     </container-descriptor>  
  6. </weblogic-web-app>  

步骤2: 将antlr-2.7.6.jar拷贝到wlserver_10.3/server/lib目录下

步骤3:修改weblogic的启动文件

Windows系统

1.)     修改weblogic domain/bin下的startWebLogic.cmd:

2.)     找到set CLASSPATH=%SAVE_CLASSPATH%

3.)     在该句之前加上:set PRE_CLASSPATH=%WL_HOME%\server\lib\antlr-2.7.6.jar

4.)     在set CLASSPATH=%SAVE_CLASSPATH%之后加上:set CLASSPATH=%PRE_CLASSPATH%;%CLASSPATH%

UNIX系统

1.)     修改weblogic domain/bin下的startWebLogic.sh

2.)     找到CLASSPATH="${SAVE_CLASSPATH}"

3.)     在该句之前加上:PRE_CLASSPATH="${WL_HOME}/server/lib/antlr-2.7.6.jar"

4.)     在CLASSPATH="${SAVE_CLASSPATH}"之后加上:CLASSPATH="${PRE_CLASSPATH}${CLASSPATH}"

步骤4:经过以上更改后,如果还是出现Hibernate错误,请在hibernate的配置文件中加上  

   <prop key="hibernate.query.factory_class">org.hibernate.hql.ast.ASTQueryTranslatorFactory</prop>



2.java.lang.NoSuchMethodError: org.w3c.dom.Element.getTextContent()Ljava/lang/String

造成这个异常的原因是web工程文件中的xml解析文件和weblogic自带的xml解析文件有冲突,删掉web工程文件中的xercesImpl-2.6.2.jar、xmlParserAPIs-2.6.2.jar、xml-apis-1.0.b2.jar这三个jar包