Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.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_Jar_Maven - Fatal编程技术网

Java 如何从jar中添加和读取资源文件

Java 如何从jar中添加和读取资源文件,java,jar,maven,Java,Jar,Maven,在java程序读取的路径中有hibernate.cfg.xml和test.txt。现在,当我使用maven创建jar时,这些文件并不存在。我读到应该放在resources文件夹中,所以现在我的目录结构是 scr->main->java ->resources 现在我可以看到jar中的文件,但它们不在资源文件夹中 基本上 myjar.jar->com(源代码) 我试着使用 getClass().getResourceAsStream(“test.txt”) 但结果是空的 让

在java程序读取的路径中有hibernate.cfg.xml和test.txt。现在,当我使用maven创建jar时,这些文件并不存在。我读到应该放在resources文件夹中,所以现在我的目录结构是

scr->main->java

        ->resources
现在我可以看到jar中的文件,但它们不在资源文件夹中 基本上

myjar.jar->com(源代码)

我试着使用

getClass().getResourceAsStream(“test.txt”)

但结果是空的

让我知道哪些步骤是错误的

getClass().getResourceAsStream(名称)
在调用此方法的类所在的目录中搜索资源

例如,在调用
getClass().getResourceAsStream(“test.txt”)
的同一目录中有class
A
和resource
test.txt
。如果它位于某个子目录中,则需要在
name
中表示:
getClass().getResourceAsStream(“subdir/test.txt”)

我还没有测试过这一点,但是可以使用以下命令查看当前目录:
getClass().getResourceAsStream(“../test.txt”)
查看一下,
getClass().getResourceAsStream(“/test.txt”)
是否会有所不同

       -> META -INF
       -> hibernate.cfg.xml
       -> test.txt