初次使用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,应该没什么问题了。
有问题请留言。