问题背景:我想加载resources目录下的一张图片,在idea的调试阶段成功了,但package后运行jar包就出现了各种错误
我在Main方法中通过class.getResource("/").getPath(); 在idea的调试阶段可以正确获取,但我package后通过控制台运行jar包就会报空指针异常,下面是Main方法的部分代码
public static void main(String[] args) {
String path = Main.class.getResource("/").getPath();
}
下面两张是对比图
后来我通过
URL resource = Main.class.getClassLoader().getResource("Lock.png");
String path = resource.getPath();
这种方法也是在调试阶段成功获取到了resources目录下的Lock.png图片,但package后获取到的path就变成了
file:/D:/self_project/EyeCare/EyeCare-1.0.jar !/Lock.png
下面是这种方法对应的测试图
我想知道如何在一个JavaSE的maven项目中去获取资源文件,并且在打包后也能正常运行
顺提一下,如果大家知道Log4j的Log4j.properties文件内部是怎么获取的啊,Log4j在我的这个程序中就很正常的运行了