概述
今天在学利用Spring创建Web项目,之前创建Spring项目的时候使用的是maven,使用maven导包真的方便了很多,只是今天又遇到了一个bug
源代码 :
static {
try {
Properties proper=new Properties();
InputStream input= JDBCUtils.class.getClassLoader()
.getResourceAsStream("jdbc.properties");
proper.load(input);
datasource= (DruidDataSource) DruidDataSourceFactory.createDataSource(proper);
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
发现是JDBCUtils.class.getClassLoader().getResourceAsStream(“jdbc.properties”);这一句出现了问题,我看了看我的项目目录,感觉这也没问题啊,然后我在(“jdbc.properties”)上加上’/‘又试了一次,发现还是不行,在网上看到的解决方案都是’/'的删减,改了好久都没成功。。。
非常感谢下午时看到的这位大佬的帖子–>https://blog.csdn.net/LIZHONGPING00/article/details/103106549,发现原来maven项目中的资源路径和普通项目不一样,得在porm.xml中配置一下才行,终于成功了!!
只是成功之后我在porm.xml中把这段代码删除了之后竟然还可以保持正常启动,之前不加这一段死活都不行,这个我还是不明白为什么。。
<!-- 在build标签下配置resources --!>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>*.properties</include>
</includes>
</resource>
</resources>
如果不是maven项目也出错的话可以删去 ‘/’ 再试一下,class.getResource("/") == class.getClassLoader().getResource("")
参考文章:https://blog.csdn.net/LIZHONGPING00/article/details/103106549
最后
以上就是犹豫画笔为你收集整理的Maven:使用class.getClassLoader().getResourceAsStream()触发异常inStream parameter is null的全部内容,希望文章能够帮你解决Maven:使用class.getClassLoader().getResourceAsStream()触发异常inStream parameter is null所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复