weblogic集群部署hibernate项目

原创 2013年12月05日 13:43:14

通过console控制台发布项目后 发现出现

ClassNotFoundException:org.hibernate.hql.ast.HqlToken错误

发现问题是 weblogic中使用较低版本的hibernate 而项目中使用了最新的hibernate3.5

weblogic加载了了weblogic的lib下的 包结构后 如果发先应用中存在相同的jar下的包 不会使用新的jar

所以出现应用的jar问题

 

解决办法 需要在weblogic的jar加载之前加载hibernate的包

Middleware\user_projects\domains\域名称\bin\startWebLogic.cmd加入

set PRE_CLASSPATH=C:\project\lib\hibernate3.jar;C:\project\lib\hibernate-jpa-2.0-api-1.0.1.Final.jar;C:\project\lib\hibernate-commons-annotations-4.0.1.Final.jar

将set CLASSPATH=%SAVE_CLASSPATH%改为

set CLASSPATH=%PRE_CLASSPATH%;%SAVE_CLASSPATH%

 

重新启动发现 出现找不到Dom4jExcepiton类 

解决方法:

set PRE_CLASSPATH=C:\project\lib\hibernate3.jar;C:\project\lib\hibernate-jpa-2.0-api-1.0.1.Final.jar;C:\project\lib\hibernate-commons-annotations-4.0.1.Final.jar

;C:\project\lib\dom4j-1.6.1.jar;

将set CLASSPATH=%SAVE_CLASSPATH%改为

set CLASSPATH=%PRE_CLASSPATH%;%SAVE_CLASSPATH%

 

重新启动发现 又找不到javassist中的类 继续加入

set PRE_CLASSPATH=C:\project\lib\hibernate3.jar;C:\project\lib\hibernate-jpa-2.0-api-1.0.1.Final.jar;C:\project\lib\hibernate-commons-annotations-4.0.1.Final.jar

;C:\project\lib\dom4j-1.6.1.jar;C:\project\lib\javassist-3.15.0-GA.jar

将set CLASSPATH=%SAVE_CLASSPATH%改为

set CLASSPATH=%PRE_CLASSPATH%;%SAVE_CLASSPATH%

 重新启动发现 报 Cannot set web app root system property when WAR file is not expanded。

通过源码 发现如下代码

/*     */   public static void setWebAppRootSystemProperty(ServletContext servletContext)
/*     */     throws IllegalStateException
/*     */   {
/* 138 */     Assert.notNull(servletContext, "ServletContext must not be null");
/* 139 */     String root = servletContext.getRealPath("/");
/* 140 */     if (root == null) {
/* 141 */       throw new IllegalStateException(
/* 142 */         "Cannot set web app root system property when WAR file is not expanded");
/*     */     }

发现是因为  servletContext.getRealPath("/"); 获取不到

这时才知道 因为打包的war没有完全发布出来 是获取不到根目录的  所以采用文件夹的方式发布 就没有这个问题 

建议将

<listener>
<listener-class>
org.springframework.web.util.Log4jConfigListener
</listener-class>
</listener>

修改为:
<servlet>
 <servlet-name>log4jConfigListener</servlet-name>
      <servlet-class>org.springframework.web.util.Log4jConfigServlet</servlet-class>
      <load-on-startup>0</load-on-startup>
     </servlet>


重新启动 发现没有启动cxf 报soap异常

将web。xml中

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
 id="WebApp_ID" version="2.5">

修改为

<web-app xmlns="http://java.sun.com/xml/ns/j2ee">

重新启动 发现启动成功

 

 

 

 

 

 

相关文章推荐

weblogic集群部署

  • 2016年05月20日 09:31
  • 208KB
  • 下载

linux + weblogic10.3.6 集群部署及配置

  • 2014年07月24日 10:28
  • 1.67MB
  • 下载

linux下weblogic多机器集群部署要点

weblogic在部署单台物理的多节点服务器(受管服务器)集群时候,只要根据提示下一步下一步都能完成。 最近帮测试部部署一个简单的双物理机weblogic集群(下简称多机集群) 1、在部署多机集群...
  • xu1314
  • xu1314
  • 2014年12月11日 19:14
  • 8838

Linux下Weblogic多机集群部署

  • 2016年12月15日 10:58
  • 18.46MB
  • 下载

linux下weblogic集群部署

  • 2014年07月07日 09:46
  • 2.12MB
  • 下载

Weblogic 12c 集群部署和session复制

在上一篇Weblogic12c集群搭建的基础上,这一篇介绍Weblogic12c集群应用的部署和session复制.1、启动服务首先在weblogic12c控制台,启动受托管服务server1、ser...

采集系统weblogic集群部署说明

  • 2014年09月26日 16:39
  • 4.08MB
  • 下载

项目架构开发:集群部署

单机部署很简单,这里就不演示了,要注意的是我们用的是session来保存登录信息 虽然Session不安全,比如sessionid被截获那就可以在任何地方用你的账号登录; 但是大多数企业内...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:weblogic集群部署hibernate项目
举报原因:
原因补充:

(最多只允许输入30个字)