栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

关于java.lang.NullPointerException: inStream parameter is null的解决办法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关于java.lang.NullPointerException: inStream parameter is null的解决办法

今天学习Servlet时,利用Druid数据库连接池获取数据库连接(利用配置文件properties),用junit测试时没有问题,当运行在tomcat上时一直报错,我的properties配置文件也放在src目录下,找了半天没发现问题。

后来发现,读取properties配置文件时,我用的是系统类加载器

当改为用当前类加载时,忽然不报错了

 

查阅资料发现

ClassLoader.getSystemClassLoader方法无论何时均会返回ApplicationClassLoader,其只加载classpath下的class文件。

在javaSE环境下,一般javaSE项目的classpath为bin/目录,因此只要编译后的class文件在classpath下就可以。此时ApplicationClassLoader就可以加载动态生成的类。

但在javaEE环境下,我们的项目里的类是通过WebAppClassLoader类来加载的,此时我们获取了ApplicationClassLoader,因此自然找不到class文件。

详情请见关于ClassLoader.getSystemClassLoader()和Thread.currentThread().getContextClassLoader()_xcxy2015的博客-CSDN博客

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/396598.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号