将项目部署到Weblogic8.1上存在的问题

来源:互联网 发布:图片cms 网站系统 编辑:程序博客网 时间:2024/05/16 06:34

1.        启动weblogic服务时报错CharScanner; panic: ClassNotFoundException: org.hibernate.hql.ast.HqlToken

hibernate3中需要用到antlr.jar,然而这个包在 weblogic.jar中已经包含了antrl类库,就会产生一些类加载的错误,无 法找到在war或者ear中的hibernate3.jar。而出现这个错误之后,antlr会调用System.exit(),这样weblogic就 会中止服务。
可以在hibernate的配置文件中加上<property name="query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory< /property>这个属性节点,但通过这种方式只是引用了hibernate2.0的查询方式,如果想使用hibernate3.0的查询方式 (如: select sum(value) as payment from VwFund 前面有查询字段作为expression的)需要通过如下方法:

拷贝Hibernate3里带的包antlr-2.7.5H3.jar%WL_HOME%/server/lib
修改domain下的startWebLogic.cmd 文件:

         set CLASSPATH之前加上下面一句:
         set PRE_CLASSPATH=%WL_HOME%/server/lib/antlr-2.7.5H3.jar;
        
set CLASSPATH之后加上下面一句:
         set CLASSPATH=%PRE_CLASSPATH%;%CLASSPATH

2.        weblogic8.1只适合用jdk1.4及以下的版本

3.        weblogic unsupported encoding “GBK”

weblogic 中的xerces.jar的版本比较低所以不支持gbk,同样可以通过将最新的xerces-2.6.2.jarcopy%WL_HOME%/server/lib下,然后修改startWeblogic.cmd文件:

set CLASSPATH之前加上下面一句:
set PRE_CLASSPATH=%WL_HOME%/server/lib/antlr-2.7.5H3.jar; %WL_HOME%/server/lib/xerces-2.6.2.jar
set CLASSPATH之后加上下面一句:
set CLASSPATH=%PRE_CLASSPATH%;%CLASSPATH

还有就是对response返回的编码设置为gb2312,因为weblogic8.1中对GBK还不支持response.setContentType("text/xml;charset=gb2312");

 
原创粉丝点击