在java web应用程序中加载xml文件

问题描述:

我需要在我的web中加载log4j.xml配置文件来初始化日志记录。 log4j.xml位于包 com.test.config中。在java web应用程序中加载xml文件

当J2SE的Java应用程序代码

InputStream input = ClassLoader.getSystemClassLoader().getResourceAsStream("com/test/config/log4j.xml"); 

resturns输入流,但是当我的servlet执行此返回null。 servlet是部署在glassfish上的java web应用程序2.1

有什么区别?

如果log4j.xml文件位于jar文件中,请确保您已将该jar文件添加到Glassfish中的servlet类路径。

否则,如果它在一个目录中,比如说resources/com/test/config,则必须将resources目录添加到您的服务器类路径中。

你可以尝试使用当前线程的上下文类加载器Thread.currentThread().getContextClassLoader()来代替,我认为这为我解决了一个类似的问题。

+0

我试过了,它的工作原理:) tnx! :) – Marko 2010-07-07 09:27:53