我无法通过以下项目结构中的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中。

07-28 00:07