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

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文件,内容如下:

                       

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app>
	<container-descriptor>
		<prefer-web-inf-classes>true</prefer-web-inf-classes>
	</container-descriptor>
</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包

你可能感兴趣的:(Hibernate,xml,weblogic,jbpm,encoding)