项目从tomcat移植到weblogic问题汇总

本文记录了将项目从Tomcat迁移到WebLogic过程中遇到的问题及解决方案,包括:web.xml版本调整、jar包冲突处理、log4j配置调整、注解Servlet映射改为web.xml配置、文件部署策略解决文件拷贝问题以及调整WebLogic内存设置以解决内存溢出问题。

最近因为业务需求要把项目从tomcat容器移植到weblogic,踩了很多坑,在此记录下。

 

1.首先weblogic不支持3.0,需要在web.xml将3.0改为2.5,注意一般有两个地方需要改。

<web-app http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">

 

2.jar包冲突

这个只要删除冲突的无用的包就好了,记得WEB-INF文件夹下的jar包也要删除。

 

3.由于weblogic本来支持log4j,所以原来tomcat里用到的log4j相关配置要修改。

1)修改web.xml,注释掉log4j相关配置

<!--

<context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>/WEB-INF/classes/log4j.properties</param-value>
    </context-param>

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

-->

2)此外,还要增加weblogic.xml,注意配置context-root,这是请求的根路径,不然就用默认的了

<weblogic-web-app>
  <context-root>/</context-root>
  <container-descriptor>根路径
    <show-archived-real-path-enabled>true</show-archived-real-path-enabled>
  </container-descriptor>
</weblogic-web-app>

4.处理完上面两步,基本项目就可以成功部署了,但是访问一直报404,研究了很久发现是因为用了注解@WebServlet映射url,将所有有关servlet的url都改成在web.xml里配置

<servlet>
        <servlet-name>MyServlet</servlet-name>
        <servlet-class>com.servlet.MyServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/url</url-pattern>
    </servlet-mapping>

5.此时,项目已经可以访问了,但是由于项目本身的设计,需要在项目部署后,拷贝文件到部署后解压得到的文件夹中,但是weblogic用war包部署的项目没有保存解压后的文件夹,这就难倒我了,还好机智的同事发现weblogic可以用文件部署,解决办法就是在服务域中解压war包,然后在页面设置项目路径就可以了,完美解决。

6.项目应该可以正常运行了吧。但是,处理请求的时候出现了内存溢出,报java.lang.OutOfMemoryError:Physical memory usage is to high。。。

需要在服务域的domains/my_domain/bin/setDomainEnv文件中修改jvm堆的大小

WLS_MEM_ARGS_32BIT="-Xms512m -Xmx1024m"

这两个值按照项目需求设置就好了

终于搞定,真的很是曲折了

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值