我是靠谱客的博主 犹豫画笔,最近开发中收集的这篇文章主要介绍Maven:使用class.getClassLoader().getResourceAsStream()触发异常inStream parameter is null,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

今天在学利用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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部