Java 从maven文件夹结构的主/资源文件夹拾取文件时出现问题
我正在尝试从src/main/resources文件夹获取文件。 之前它工作正常,但最近它开始从某个目标位置(target/classes/filename.xml)拾取该文件(我没有在目标文件夹中创建该文件) 我正在尝试的代码是: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
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")));