Java maven项目中资源文件访问面临的问题

Java maven项目中资源文件访问面临的问题,java,Java,我无法从以下项目结构通过MyStaticClass.java类访问myXml.xml文件。 如果我把这个xml文件放在java文件夹下,我可以通过以下方式访问它: MyStaticClass.class.getResourceAsStream("[...]/myXml.xml"); 但无法通过绝对路径(/myXml.xml)或从应用程序文件夹开始的相对路径从资源文件夹访问。maven project有什么特别之处吗?还是我犯了一些错误? 请帮我解决这个问题 my-app `-- src

我无法从以下项目结构通过
MyStaticClass.java
类访问
myXml.xml
文件。
如果我把这个xml文件放在java文件夹下,我可以通过以下方式访问它:

MyStaticClass.class.getResourceAsStream("[...]/myXml.xml");
但无法通过绝对路径(/myXml.xml)或从应用程序文件夹开始的相对路径从资源文件夹访问。maven project有什么特别之处吗?还是我犯了一些错误?
请帮我解决这个问题

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

否,不在单元测试中运行。而不是直接从源代码运行调试井。。。您如何在eclipse中运行它?您正在使用m2 eclipse插件吗?在我看来,资源并没有像应该的那样包含在类路径中。我对eclipse不太熟悉,所以不知道这个例子。我知道,借助maven中的打包,myXml.xml将最终位于.jar的根目录中,假设目录结构与您已经粘贴的目录结构类似。正如我在命令PromptGet上运行编译的字节码(未打包到jar中)一样,您的观点是,文件将在包根上可用,但首先我需要调试。我想应该有一种方法可以实现这两个目的。如果您使用
mvn eclipse:eclipse
生成.project文件,请确保src/main/resources位于类路径上。再次尝试运行
mvneclipse:eclipse
,以查看它是否自动为您执行此操作。