Error: weblogic.management.DeploymentException: Cannot set web app root system p

这2天要将项目以war包得形式发布到weblogic下面,在项目中用到了log4j初始化的的时候是用

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

 来加载log4j的。但是发布到weblogc中报错了。

Error: weblogic.management.DeploymentException: Cannot set web app root system property when WAR file is not expanded - with nested exception.
[java.lang.IllegalStateException: Cannot set web app root system property when WAR file is not expanded]

   意思找不到那个log4j文件吧。在往上查了下,需要自己写个类加载下log4j文件

 

    package com.dep.util;
    import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

import javax.servlet.http.HttpServlet;

import org.apache.log4j.PropertyConfigurator;
    public class Log4jInit extends HttpServlet {
        public void init() {
            /**
             * apache中的调用方法
             * String prefix =getServletContext().getRealPath("/");
             * 
             * String file = getInitParameter("log4j");
             *  // if the log4j-init-file is not set, then no point in trying
             * 
             * System.out.println("................log4j start");
             * 
             * if(file != null) {
             * 
             * PropertyConfigurator.configure(prefix+file);
             *  }
             * 
             */
            String file = getInitParameter("log4j");        
            System.out.println("................log4j start");
            if (file != null) {
                Properties ps=new Properties();
                try {
                	InputStream log = getServletContext().getResourceAsStream(file);
                    ps.load(log);
                } catch (IOException e) {
                    e.printStackTrace();
                }
                PropertyConfigurator.configure(ps);
            }
        }
    }

 

    <servlet>
        <servlet-name>log4jLoader</servlet-name>
        <servlet-class>com.dep.util.Log4jInit</servlet-class>
        <init-param>
            <param-name>log4j</param-name>
            <param-value>/WEB-INF/classes/log4j.properties</param-value>
        </init-param>
        <load-on-startup>0</load-on-startup>
      </servlet>
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值