有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

maven folder structure

Jar内容:

jarContent

我有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) 个答案

  1. # 1 楼答案

    在我这边,你能检查一下你的jar是否包含一个包含json的“测试”文件夹吗?(例如,用7zip打开罐子查看)