Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.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 将文件存储在jar库中_Java_Maven_Jar_Java 11 - Fatal编程技术网

Java 将文件存储在jar库中

Java 将文件存储在jar库中,java,maven,jar,java-11,Java,Maven,Jar,Java 11,如何在jar库中存储文件? 设置: 使用一个类创建一个简单的maven项目,该类使用getResourceAsStream()方法和运行它的测试从resources文件夹加载一些内容。测试将失败,问题是找不到该文件,同样的问题将在稍后我们尝试将其编译为lib并运行该类时出现 问题:使用我知道的唯一方法(也是您在web上可以找到的唯一方法)getResourceAsStream()将为您提供一个空引用异常,因为缺少该文件。那么,如何将文件添加到jar中并在以后加载它呢?将文件保存在src/main

如何在jar库中存储文件?

设置: 使用一个类创建一个简单的maven项目,该类使用getResourceAsStream()方法和运行它的测试从resources文件夹加载一些内容。测试将失败,问题是找不到该文件,同样的问题将在稍后我们尝试将其编译为lib并运行该类时出现


问题:使用我知道的唯一方法(也是您在web上可以找到的唯一方法)
getResourceAsStream()
将为您提供一个空引用异常,因为缺少该文件。那么,如何将文件添加到jar中并在以后加载它呢?

将文件保存在
src/main/resources
目录中,并在需要加载该文件的类中使用以下方法-

private InputStream readFileFromResourcePath(String filename) {
    return getClass().getClassLoader().getResourceAsStream(filename);
} 

不要忘记在使用流后关闭它。

这是否回答了您的问题?啊,当移植时,我忘记了使用ant构建的旧java版本没有资源文件夹的概念