您的位置:首页 > 编程语言 > Java开发

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

2007-07-08 12:38 771 查看
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.jar包copy到%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");

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息