Java Maven和IntelliJ资源

Java Maven和IntelliJ资源,java,maven,intellij-idea,Java,Maven,Intellij Idea,这似乎是一个简单的问题,但我似乎找不到任何解决方案,或者我不理解我读到的一些帖子 我有一个Maven项目,其中包含一些资源,放在/src/main/resources/文件夹下。让它成为text.txt文件。我被告知,我放在该文件夹或pom.xml文件中声明的任何文件夹中的任何文件都将放在/project root文件夹中,在将独立jar文件编译成工作jar后解压独立jar文件时,您可以看到这一点 因此,按照这种逻辑,当Maven将文件打包到jar中时,我应该能够通过text.txt访问这些文件

这似乎是一个简单的问题,但我似乎找不到任何解决方案,或者我不理解我读到的一些帖子

我有一个Maven项目,其中包含一些资源,放在/src/main/resources/文件夹下。让它成为text.txt文件。我被告知,我放在该文件夹或pom.xml文件中声明的任何文件夹中的任何文件都将放在/project root文件夹中,在将独立jar文件编译成工作jar后解压独立jar文件时,您可以看到这一点

因此,按照这种逻辑,当Maven将文件打包到jar中时,我应该能够通过text.txt访问这些文件。但是这样做意味着IntelliJ无法在text.txt中看到文本文件,因为它位于/src/main/resources/text.txt。我是否正确理解打包过程以及应该将哪条路径放入代码中

提前谢谢你

编辑:

正如一些人指出的,我需要更具体地说明这一点

假设我的Main.java位于src/Main/java//Main.java,下面是代码:

import java.io.*;
import java.nio.file.Files;

public class Main {
    public static void main(String[] args) throws IOException {
        //stub
        System.out.println("Entered the program");
        File file=new File("src/main/resources/text.txt");
        System.out.println("String in text file: " + new String(Files.readAllBytes(file.toPath())));
    }
}
我还有text.txt文件,位于src/main/resources/text.txt

当我按下Shift+F10类似于按下run按钮时,它编译并运行良好

以下是我的POM文件的一部分:

maven汇编插件 com.n157239.maven_rss.Main 带有依赖项的jar 如果将文件放在/src/main/resources/中,只需指定文件名即可读取
this.getClass.getClassLoader.getResourceAsStreamYourFile

您可以将文本文件放在project/src/main/resources中,将java代码放在project/src/main/java中。在这里,您需要返回并重写这个问题—您想问的具体问题是什么?一旦文件被打包到jar中,您能看到它吗?你在查看文件时有问题吗?是的,我已经做过了,但问题是,我应该选择文本文件的路径,以便它能够在IntelliJ IDEA和使用maven clean compile assembly打包的jar中工作:Single在生产环境中运行时,您不应该从src目录中读取任何内容-假设运行程序的PC上甚至不存在src目录。使用Lai的答案,您应该能够在IntelliJ和命令行中运行。请注意,您不能将文件作为文件打开,而是使用类加载器将其作为InputStream直接打开。