java 从maven文件夹结构的main/resource文件夹中拾取文件时出现问题

uqjltbpv  于 2023-04-19  发布在  Java
关注(0)|答案(2)|浏览(109)

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

File xmlFile = new File(ReadXMLFile.class.getClassLoader().getResource(“filename.xml”).toURI());

我尝试的代码是:

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下

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

au9on6nz

au9on6nz1#

确保你有如下的结构(模块):

├── src
│   └── main
│       ├── java
│       │   └── somepackage
│       │       └──Main.java
│       │           
│       │               
│       │              
│       └── resources
│           └── filename.xml
└── pom.xml
File xmlFile = new File(String.valueOf(getClass().getClassLoader().getResourceAsStream("filename.xml")));
vohkndzv

vohkndzv2#

Target Folder是maven自动生成的,它将 src/main/resources 中的资源和src/main/java中编译好的java类一起复制到 target/classes/ 中。
如果你运行你的程序,target/classes 是你的classloader的根。

相关问题