我无法通过以下项目结构中的myXml.xml
类访问MyStaticClass.java
文件。
如果将此xml文件放在java文件夹下的某个位置,则可以通过以下方式访问它:
MyStaticClass.class.getResourceAsStream("[...]/myXml.xml");
但是无法从资源文件夹访问,既不能通过绝对路径(/myXml.xml)也不能通过从app文件夹开始的相对路径进行访问。 Maven项目有什么特别之处吗,或者我做错了?
请帮助我解决此问题。
my-app
`-- src
-- main
|-- java
| `-- com
| `-- mycompany
| `-- app
| `-- App.java
| `-- MyStaticClass.java
`-- resources
`-- myXml.xml
最佳答案
您是在单元测试中调用getResourceAsStream
,还是从运行包目标之后产生的工件(可能是.jar)运行应用程序?如果没有,myXml.xml
将不在您的类路径中。
如果在单元测试中执行此操作,则myXml.xml
必须位于src/test/resources
中,而不要位于src/main/resources
中。