如何访问 Maven 项目中的 XML 文件,使其在打包时保持可用

2024-03-26

我目前开始开发一个 Maven Web 应用程序项目,该项目需要使用 jetty:run-exploded 目标启动,以便在 Eclipse 中进行开发/调试。

现在,我有一个 XML 文件,我需要在运行时访问其内容。我的问题是:将文件放在哪里,以便读取的代码可以在“分解”和打包(即 WAR)模式下工作?

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

当然,我可以编写代码来尝试从两个位置读取文件,但这似乎相当麻烦。有什么建议么?


文件位于src/main/resources被复制到target/classes目录并在类路径上可用。只需从类路径中读取它们即可。正如中所解释的如何将资源添加到我的 JAR 中? http://maven.apache.org/guides/getting-started/index.html#How_do_I_add_resources_to_my_JAR来自 Maven 文档(此处有测试资源):

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

...

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

// Do something with the resource

...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何访问 Maven 项目中的 XML 文件,使其在打包时保持可用 的相关文章

随机推荐