• weblogic集群部署hibernate项目


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

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

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

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

    所以出现应用的jar问题

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

    Middlewareuser_projectsdomains域名称instartWebLogic.cmd加入

    set PRE_CLASSPATH=C:projectlibhibernate3.jar;C:projectlibhibernate-jpa-2.0-api-1.0.1.Final.jar;C:projectlibhibernate-commons-annotations-4.0.1.Final.jar

    将set CLASSPATH=%SAVE_CLASSPATH%改为

    set CLASSPATH=%PRE_CLASSPATH%;%SAVE_CLASSPATH%

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

    解决方法:

    set PRE_CLASSPATH=C:projectlibhibernate3.jar;C:projectlibhibernate-jpa-2.0-api-1.0.1.Final.jar;C:projectlibhibernate-commons-annotations-4.0.1.Final.jar

    ;C:projectlibdom4j-1.6.1.jar;

    将set CLASSPATH=%SAVE_CLASSPATH%改为

    set CLASSPATH=%PRE_CLASSPATH%;%SAVE_CLASSPATH%

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

    set PRE_CLASSPATH=C:projectlibhibernate3.jar;C:projectlibhibernate-jpa-2.0-api-1.0.1.Final.jar;C:projectlibhibernate-commons-annotations-4.0.1.Final.jar

    ;C:projectlibdom4j-1.6.1.jar;C:projectlibjavassist-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">

    重新启动 发现启动成功

  • 相关阅读:
    Joshua Bloch错了? ——适当改变你的Builder模式实现
    集成基于OAuth协议的单点登陆
    集成基于CAS协议的单点登陆
    数据库设计中的Soft Delete模式
    完成C++不能做到的事
    ExtJS in Review
    DTO – 服务实现中的核心数据
    保存好你的密码 —— 从芝麻金融被攻破说起
    WPF
    C# 反编译防范
  • 原文地址:https://www.cnblogs.com/liaomin416100569/p/9331325.html
Copyright © 2020-2023  润新知