Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java web应用程序中加载xml文件_Java_Servlets_Loading_Classloader - Fatal编程技术网

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

在java web应用程序中加载xml文件,java,servlets,loading,classloader,Java,Servlets,Loading,Classloader,我需要在web中加载log4j.xml配置文件来初始化日志记录。log4j.xml在包中 com.test.config 在j2se java应用程序代码中时 InputStream input = ClassLoader.getSystemClassLoader().getResourceAsStream("com/test/config/log4j.xml"); 重新返回输入流,但当我在servlet中执行此操作时,它返回null。 servlet是部署在glassfish 2.1上的ja

我需要在web中加载log4j.xml配置文件来初始化日志记录。log4j.xml在包中 com.test.config

在j2se java应用程序代码中时

InputStream input = ClassLoader.getSystemClassLoader().getResourceAsStream("com/test/config/log4j.xml");
重新返回输入流,但当我在servlet中执行此操作时,它返回null。 servlet是部署在glassfish 2.1上的java web应用程序


区别是什么?

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


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

你可以尝试使用当前线程的上下文类加载器
thread.currentThread().getContextClassLoader()
,我想这一次解决了一个类似的问题