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

java 专栏收录该内容
2 篇文章 0 订阅

最近因为业务需求要把项目从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"

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

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

 

 

 

  • 0
    点赞
  • 0
    评论
  • 3
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

jyyuni

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值