Java 使用getResourceAsStream()从src/test/resources获取文件

Java 使用getResourceAsStream()从src/test/resources获取文件,java,Java,++加 我想基于json模式文件验证json。 我当前将json保存为字符串,并尝试读取json模式文件(test.json),然后进行验证。 但是,读取架构文件总是空的 下面的代码是我迄今为止尝试过的 ++原稿 这是我目前的情况。 我尝试了很多方法来获取文件(test.json) 像 没什么。。工作在上面 请帮帮我 获取资源时,资源文件夹是根目录。如果文件位于子文件夹中,则需要将其包含在路径中。使用 in = getClass().getResourceAsStream("/ds/test.j

++加 我想基于json模式文件验证json。 我当前将json保存为字符串,并尝试读取json模式文件(test.json),然后进行验证。 但是,读取架构文件总是空的

下面的代码是我迄今为止尝试过的

++原稿

这是我目前的情况。 我尝试了很多方法来获取文件(test.json)

没什么。。工作在上面
请帮帮我

获取资源时,资源文件夹是根目录。如果文件位于子文件夹中,则需要将其包含在路径中。使用

in = getClass().getResourceAsStream("/ds/test.json");

获取资源时,resources文件夹是根目录。如果文件位于子文件夹中,则需要将其包含在路径中。使用

in = getClass().getResourceAsStream("/ds/test.json");
默认情况下,您无法从
src/main/java
中的代码访问
src/test/resources
资源。所有
src/test/resources
资源仅可用于通常存储在
src/test/java
中并在
test
阶段(在Maven中)执行的测试。在这个阶段,test代码可以通过您在问题中引用的一些(不是全部)方法访问这些资源

对于主类,资源根是
src/main/resources
。您应该将JSON模式文件存储在那里。测试代码也可以访问存储在那里的资源(因此不需要复制),但反之亦然。

您不能(默认情况下)从
src/Test/resources
中的代码访问
src/main/java
中的资源。所有
src/test/resources
资源仅可用于通常存储在
src/test/java
中并在
test
阶段(在Maven中)执行的测试。在这个阶段,test代码可以通过您在问题中引用的一些(不是全部)方法访问这些资源


对于主类,资源根是
src/main/resources
。您应该将JSON模式文件存储在那里。测试代码也可以访问存储在那里的资源(因此不需要复制),但反之亦然。

生成的jar上是否存在该文件?嗨@BagusTesa,我怎么知道生成的jar上存在该文件?对不起,我是个新手……你能给我们看看你的项目结构吗?“我怎么知道这个文件存在于生成的jar上?”用WinZip或任何zip阅读器打开jar文件。Jar是Zip文件。@chriopp请单击“此处的文件结构”生成的Jar上是否存在该文件?嗨@BagusTesa,我怎么知道生成的Jar上存在该文件?对不起,我是个新手……你能给我们看看你的项目结构吗?“我怎么知道这个文件存在于生成的jar上?”用WinZip或任何zip阅读器打开jar文件。Jar是Zip文件。@chriopp请单击“此处的文件结构”仍然为空。。。我复制并粘贴了你的,但你仍然是对的,我只是像@Florian Albrecht说的那样放在worng文件夹中。谢谢还是空的。。。我复制并粘贴了你的,但你仍然是对的,我只是像@Florian Albrecht说的那样放在worng文件夹中。谢谢非常感谢你。。。!!!我创建了一个新文件夹并放置了我的文件。它是有效的。。。祝你有愉快的一天,非常感谢你。。。!!!我创建了一个新文件夹并放置了我的文件。它是有效的。。。祝你今天愉快