如何访问maven项目中的XML文件,以便在打包时保持可用

Man*_*rdt 5 java maven-2

我目前开始研究一个maven web-app项目,该项目需要使用jetty启动:run-explosion目标,用于eclipse中的开发/调试.

现在,我有一个XML文件,其中包含我需要在运行时访问的内容.我的问题是:在哪里放置文件,以便执行读取的代码在"爆炸"和打包(即在WAR)模式下工作?

将文件放在src/main/java中(以便在类路径中)不会删除它,因为maven会过滤掉包装上的所有非java文件.当文件位于src/main/resources中时,一个意思是找出项目的根路径(在eclipse开发期间)并查看该目录 - 但是当项目打包时不再是这种情况.

当然,我可以编写试图从两个位置读取文件的代码,但这看起来相当麻烦.有什么建议?

Pas*_*ent 6

文件src/main/resources将复制到target/classes目录中,并在类路径中可用.只需从类路径中读取它们即可.如我如何向JAR添加资源中所述?来自maven文档(这里有一个测试资源):

在单元测试中,您可以使用以下代码的简单代码段来访问测试所需的资源:

...

// Retrieve resource
InputStream is = getClass().getResourceAsStream("/test.properties" );

// Do something with the resource

...
Run Code Online (Sandbox Code Playgroud)