maven加载不到配置文件

本文介绍了在Java项目中遇到的log4j配置文件无法加载的问题,并提供了两种解决方案:一种是直接在resources目录下放置配置文件但该方法失败;另一种是通过类加载器获取配置文件路径并成功配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.之前是这么做的

PropertyConfigurator.configure("log4j.properties");

以为放在resources里面就可以直接读取,但是报异常

log4j:ERROR Could not read configuration file [log4j.properties].
java.io.FileNotFoundException: log4j.properties (系统找不到指定的文件。)

2.那就换一种方法

String path = OSSDemo.class.getClassLoader().getResource("log4j.properties").getPath();
PropertyConfigurator.configure(path);
通过类加载器加载,就可以了

Log4j的包下载完成后,解压,将其中打包好的的log4j-1.x.x.jar导入你的工程LIB中。 Log4j之所以受欢迎的原因之一是它的灵活性。Log4j提供了灵活的配置方法,默认是调用BasicConfigurator.configure()来进行配置,但如果只是简单的调用BasicConfigurator.configure()来进行配置工作,那么所有的配置都是固定的,不方便以后修改配置。另一种是动态配置,Log4j提供了PropertyConfigurator.configure(……)来动态配置,参数可以是一个properties文件所在路径的String对象,可以是一个properties文件所在路径的URL对象,也可以是一个properties对象。如果要用XML文件来配置信息,则可用类型的DOMConfigurator()函数来从一个XML文件中加载配置信息。这种方式更方便修改配置。 动态配置 package http; import org.apache.log4j.BasicConfigurator; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; import org.apache.log4j.xml.DOMConfigurator; public class Log4jDemo { static Logger log = Logger.getLogger(Log4jDemo.class.getClass()); /** * main * @param args */ public static void main(String[] args) { BasicConfigurator.configure();//默认配置 PropertyConfigurator.configure("c:/log4j.properties"); //动态配置,参数可以是一个properties文件所在路径的String对象 //可以是一个properties文件所在路径的URL对象,也可以是一个properties对象 DOMConfigurator.configure("c:/log4j.xml");//XML配置文件 //PropertyConfigurator.configure()的参数还可以是XML、Properties对象 //下面就可使用log4j log.info("info"); log.debug("debug"); log.error("error"); log.warn("warn"); } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值