Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从资源目录加载属性文件(IDE vs runnable JAR)_Java_Eclipse_Maven_Jar - Fatal编程技术网

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

Java 从资源目录加载属性文件(IDE vs runnable JAR),java,eclipse,maven,jar,Java,Eclipse,Maven,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.get

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程序(EclipseMars)时,第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程序的类加载器(EclipseMars)时,第6行可以工作

从独立可运行jar(win)运行时(第8行工作)

我是否遗漏了一些基本的东西,首选的方法是什么?
是否有在JAR和IDE中同时运行的组合?

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

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

看起来您的
POM.xml
有问题,因此
maven资源插件
包含
resources
文件夹,而不是仅复制其内容…看起来您的
POM.xml
有问题,因此
maven资源插件
包含
resources
文件夹而不是只复制它的内容。。。