Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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 从maven文件夹结构的主/资源文件夹拾取文件时出现问题_Java_Maven - Fatal编程技术网

Java 从maven文件夹结构的主/资源文件夹拾取文件时出现问题

Java 从maven文件夹结构的主/资源文件夹拾取文件时出现问题,java,maven,Java,Maven,我正在尝试从src/main/resources文件夹获取文件。 之前它工作正常,但最近它开始从某个目标位置(target/classes/filename.xml)拾取该文件(我没有在目标文件夹中创建该文件) 我正在尝试的代码是: File xmlFile = new File(ReadXMLFile.class.getClassLoader().getResource(“filename.xml”).toURI()); 预期:它应该从src/main/resources/filenam

我正在尝试从src/main/resources文件夹获取文件。 之前它工作正常,但最近它开始从某个目标位置(target/classes/filename.xml)拾取该文件(我没有在目标文件夹中创建该文件)

我正在尝试的代码是:

 File xmlFile = new File(ReadXMLFile.class.getClassLoader().getResource(“filename.xml”).toURI()); 
预期:它应该从src/main/resources/filename.xml中选择文件 实际:它从target/classes/filename.xml中拾取文件

其他信息:我的代码位于
ReadXMLFile.xml
中,它位于下面的文件夹结构下 com.qa.smartcomm.util ReadXMLFile.xml


有人能帮我解决这个问题吗?

目标文件夹由maven自动创建。它将资源从src/main/resources复制到target/classes/,并将编译后的java类从src/main/java复制到target/classes/


如果你运行你的程序,目标/类是你的根类加载器

目标文件夹由maven自动设置。它将资源从src/main/resources复制到target/classes/,并将编译后的java类从src/main/java复制到target/classes/


如果运行的程序目标/类是类加载器的根,请确保具有如下结构(模块):

├── src
│   └── main
│       ├── java
│       │   └── somepackage
│       │       └──Main.java
│       │           
│       │               
│       │              
│       └── resources
│           └── filename.xml
└── pom.xml


确保您具有如下结构(模块):

├── src
│   └── main
│       ├── java
│       │   └── somepackage
│       │       └──Main.java
│       │           
│       │               
│       │              
│       └── resources
│           └── filename.xml
└── pom.xml


好啊谢谢你的澄清。两者都有不同的版本。我在src/main/resources/filename.xml中所做的更改有时不会反映在target/classes/filename.xml中,因此导致问题如何确保这两个文件夹结构具有相同的版本?如果您执行一个包含目标资源的阶段,默认情况下会从maven执行此操作:资源(例如mvn安装)应执行此任务。或者您可以通过键入mvn resources:resources来执行目标手册。如果您接受答案,那就太好了,因为我需要一些分数:-)好的。谢谢你的澄清。两者都有不同的版本。我在src/main/resources/filename.xml中所做的更改有时不会反映在target/classes/filename.xml中,因此导致问题如何确保这两个文件夹结构具有相同的版本?如果您执行一个包含目标资源的阶段,默认情况下会从maven执行此操作:资源(例如mvn安装)应执行此任务。或者您可以通过键入mvn resources:resources来执行目标手册,如果您接受答案会很好,因为我需要一些要点:-)目标文件夹由maven自动创建,并且每次运行
clean
命令时都会重新创建一个新的。目标文件夹由maven自动创建,每次运行
clean
命令时,都会重新创建一个新的。
File xmlFile = new File(String.valueOf(getClass().getClassLoader().getResourceAsStream("filename.xml")));