当前位置: 代码迷 >> Web前端 >> weblogic 部署ssh2项目,报错hibernate3.HibernateQueryException 以及 Lorg/apache/velocity/app/VelocityEngin解决方法
  详细解决方案

weblogic 部署ssh2项目,报错hibernate3.HibernateQueryException 以及 Lorg/apache/velocity/app/VelocityEngin解决方法

热度:1068   发布时间:2012-10-17 10:25:47.0
weblogic 部署ssh2项目,报错hibernate3.HibernateQueryException 以及 Lorg/apache/velocity/app/VelocityEngin解决办法

初次使用weblogic,本人是weblogic 10.x,将已经在tomcat调试好的程序直接部署在weblogic上(也就是将项目放在C:\Oracle\Middleware\user_projects\domains\base_domain\autodeploy 下,每个人依自己weblogic安装路径而定)。报错:

 java.lang.NoClassDefFoundError: Lorg/apache/velocity/app/VelocityEngine;

以及:

org.springframework.orm.hibernate3.HibernateQueryException: ClassNotFoundException;

经过查阅google终于问题解决。

首先确保你的项目的ib下面有antlr-2.7.6.jar这个文件。然后,去网上下载两个额外的jar,这两个jar在tomcat部署时不是需要的。

这两个jar分别是:

velocity-1.6.2.jar;

velocity-tools-2.0.jar

然后,放在项目的lib下面。

接下来打开spring配置文件,在配置文件

<property name="hibernateProperties">栏目下,加多一句:

hibernate.query.factory_class=org.hibernate.hql.ast.ASTQueryTranslatorFactory

最终的完整文件是

<property name="hibernateProperties">
<value>
<!-- 数据库方言 -->
hibernate.dialect=org.hibernate.dialect.MySQLDialect
<!-- 是否显示sql语句 -->
<!--hibernate.show_sql=true-->
<!-- -->
hibernate.hbm2ddl.auto=update
<!--显示sql语句格式化 -->
hibernate.format_sql=true
hibernate.cache.provider_class=org.hibernate.cache.NoCacheProvider
hibernate.query.factory_class=org.hibernate.hql.ast.ASTQueryTranslatorFactory
</value>
</property>
</bean>

接下来,找到weblogic下面的安装路径:

Oracle\Middleware\modules下面,找到两个jar文件:

com.bea.core.antlr_2.7.7.jar;

com.bea.core.antlr.runtime_2.7.7.jar

删除这两个jar文件。

接下来重启weblogic,应该没什么问题了。

有问题请留言。


  相关解决方案