从资源目录加载属性文件(IDE vs runnable JAR)

时间:2017-02-10 10:36:46

标签: java eclipse maven jar

maven folder structure

Jar内容:

jarContent

从IDE和runnable JAR加载某些资源文件时,我有Maven项目(Java 1.8)和问题。我试过这个组合:

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(eclipse mars)内部运行java程序时,第1行工作

从独立的runnable 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行工作

从独立的runnable jar(win)第8行开始运行时)

我错过了一些基本的东西,首选的方法是什么? 是否存在JAR&& amp;和IDE?

1 个答案:

答案 0 :(得分:0)

在我这边工作,你能检查你的jar是否包含一个带有json的'test'文件夹吗? (以7zip为例打开罐子看看)