Habitat Framework

          專注于Java EE企業(yè)級開發(fā)
          posts - 13, comments - 81, trackbacks - 0, articles - 5
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          終于還是要部署到Weblogic上的
          經(jīng)過一下午的調(diào)試,總結(jié)出要改兩個地方
          1:Spring的servlet裝載順序
          Tomcat是標準的Servlet2.4規(guī)范的容器,能夠很好的維持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啟動的環(huán)境變量,將這個包加在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應(yīng)用程序的問題了。
          如果在加載中還碰到j(luò)ava.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(ILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)這個問題出現(xiàn),則必須將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>
          優(yōu)先使用web-inf中使用的class而不是用先使用weblogic.jar包中的ClassVisitor這個類。(針對weblogic server 9)

          主站蜘蛛池模板: 赫章县| 时尚| 万安县| 萝北县| 靖州| 宜川县| 佳木斯市| 行唐县| 河曲县| 宁阳县| 榆林市| 荃湾区| 巴楚县| 寻甸| 鄂温| 拜城县| 西青区| 伽师县| 乐山市| 龙海市| 广西| 石首市| 平陆县| 阜新| 招远市| 沧州市| 南华县| 方山县| 宜良县| 湖州市| 西乡县| 象山县| 石泉县| 阳原县| 陆丰市| 高平市| 固安县| 望江县| 海宁市| 浦江县| 东平县|