java从资源目录加载属性文件(IDE vs runnable JAR)
Jar内容:
我有Maven项目(Java1.8),从IDE和runnable JAR加载一些资源文件时出现问题。我尝试了以下组合:
1) CalendarSample.class.getResourceAsStream("/test/client_secrets.json")); //IDE
2) CalendarSample.class.getResourceAsStream("test/client_secrets.json"));
3) CalendarSample.class.getResourceAsStream("/resources/test/client_secrets.json")); //JAR
4) CalendarSample.class.getResourceAsStream("resources/test/client_secrets.json"));
当从IDE内部运行java程序(eclipse mars)时,第1行可以工作
从独立可运行jar(win)运行时(第3行工作)
使用类加载器:
5) CalendarSample.class.getClassLoader().getResourceAsStream("/test/client_secrets.json"));
6) CalendarSample.class.getClassLoader().getResourceAsStream("test/client_secrets.json")); //IDE
7) CalendarSample.class.getClassLoader().getResourceAsStream("/resources/test/client_secrets.json"));
8) CalendarSample.class.getClassLoader().getResourceAsStream("resources/test/client_secrets.json")); //JAR
当使用从IDE内部运行java程序的类加载器(eclipse mars)时,第6行可以工作
从独立可运行jar(win)运行时(第8行工作)
我是否遗漏了一些基本的东西,首选的方法是什么? 有没有既在JAR中运行又在&&;IDE
# 1 楼答案
在我这边,你能检查一下你的jar是否包含一个包含json的“测试”文件夹吗?(例如,用7zip打开罐子查看)