IDEA中maven项目读取properties配置文件异常解决方法
复现
在javase复习第四弹的反射案例中,运行框架测试类后会有空指针异常。
//1.加载配置文件 //1.1创建properties对象 Properties properties = new Properties(); //1.2加载配置文件,转换为集合 //1.2.1获取配置文件 InputStream rs = ReflectTest.class.getClassLoader().getResourceAsStream("pro.properties"); properties.load(rs); //2.获取配置文件中定义的数据 String className = properties.getProperty("className"); String methodName = properties.getProperty("methodName");
Exception in thread "main" java.lang.NullPointerException at java.util.Properties$LineReader.readLine(Properties.java:434) at java.util.Properties.load0(Properties.java:353) at java.util.Properties.load(Properties.java:341) at reflect.ReflectTest.main(ReflectTest.java:20)
分析
在配置properties文件时出现空指针异常基本是由于读取不到配置文件导致的。
会不会是我的配置文件路径写错了么,我在编辑器界面时按住Ctrl加鼠标左键时是可以打开pro,properties
文件的,所以排除掉文件路径的问题
查找资料
经过在网上的多处查询后
定位到了可能是使用了maven出现的问题
原因是生成的项目中没有生成相关的的配置文件,导致读取不到,所以通过pom文件去设置路径
解决方法
在maven工程中打开pom.xml
加入以下标签即可
<build> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> <include>**/*.tld</include> </includes> <filtering>false</filtering> </resource> <resource> <directory>src/main/java</directory> <excludes> <exclude>**/*.java</exclude> </excludes> </resource> </resources> </build>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了