Habitat Framework

          專注于Java EE企業級開發
          posts - 13, comments - 81, trackbacks - 0, articles - 5
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          終于還是要部署到Weblogic上的
          經過一下午的調試,總結出要改兩個地方
          1:Spring的servlet裝載順序
          Tomcat是標準的Servlet2.4規范的容器,能夠很好的維持servlet加載的順序,
          但是Weblogic9.x不是,因此加載的時候需要換用Spring的另一個Servlet來保證加載的順序正確
          <servlet>
          ??<servlet-name>context</servlet-name>
          ??<servlet-class>org.springfromword.context.ContextLoclageServlet</servlet-class>
          ?</servlet>
          ?2.Acegi的filter也需要改變裝載的類:
          <filter>
          ??????? <filter-name>acegifilter</filter-name>
          ??????? <filter-class>net.sf.acegisecurity.util.FilterToBeanProxy</filter-class>
          ??????? <init-param>
          ??????????? <param-name>targetClass</param-name>
          ??????????? <!--<param-value>net.sf.acegisecurity.util.FilterChainProxy</param-value>-->
          ????????????<param-value>net.sf.acegisecurity.context.HttpSessionContextIntegrationFilter</param-value>
          ??????? </init-param>
          </filter>
          3.更換兩個包antlr和cglib
          Spring要求antlr 2.7.5 的支持,但是Weblogic9的Weblogic.jar中集成的版本不夠高,所以啟動會報錯
          修改啟動weblogic啟動的環境變量,將這個包加在weblogic.jar包之前(注意一定要加在前面)。
          weblogic 8中修改:bea\weblogic81\common\bin\commEnv.cmd(.sh)這個文件。
          weblogic 9中修改:bea\weblogic90\common\bin\commEnv.cmd(.sh)這個文件,
          修改后大體如下所示:
          set WEBLOGIC_CLASSPATH=%PATCH_CLASSPATH%;%JAVA_HOME%\lib\tools.jar;%WL_HOME%\server\lib\antlr-2.7.5.jar;%WL_HOME%\server\lib\weblogic_sp.jar;%WL_HOME%\server\lib\weblogic.jar
          就可以解決在weblogic server 上部署spring應用程序的問題了。
          如果在加載中還碰到java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(ILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)這個問題出現,則必須將cglib-nodep-2.1_2.jar也加到classpath中weblogic.jar之前。
          或者對于weblogic server 9在weblogic.xml中使用
          <container-descriptor>
          ? <prefer-web-inf-classes>true</prefer-web-inf-classes>
          </container-descriptor>
          優先使用web-inf中使用的class而不是用先使用weblogic.jar包中的ClassVisitor這個類。(針對weblogic server 9)

          主站蜘蛛池模板: 巴东县| 榆中县| 乌兰浩特市| 黄大仙区| 郯城县| 和龙市| 高安市| 南郑县| 武汉市| 嘉定区| 达日县| 荆门市| 天气| 蓝田县| 乌拉特前旗| 木兰县| 靖州| 界首市| 云阳县| 达尔| 柳林县| 耒阳市| 铜梁县| 伽师县| 岫岩| 嘉义县| 巍山| 娱乐| 天津市| 阿鲁科尔沁旗| 高安市| 仙居县| 金山区| 苏尼特右旗| 苏尼特左旗| 循化| 大石桥市| 屯留县| 陆良县| 黄浦区| 巩留县|