例如假设我正在使用标准项目结构并且
的src /主/配置/ config.xml中
要进行此操作,我推测
new File("src/main/config/config.xml");
不正确
答案 0 :(得分:2)
没有“Maven Idiom”用于访问配置文件。 Maven是一个构建平台,而不是一个执行平台。因此,访问适用的配置文件的约定实际上只是您正在使用的Java平台的约定; e.g。
Maven只是出现在图片中,因为您(可能)在您的项目/版本控制中有资源文件需要包含在JAR或WAR或您正在构建的任何工件中。要让它在Maven中运行,您只需要了解Maven如何将非Java文件复制到工件中。
在简单(JAR)情况下,默认行为是将src/main/resources/
中的任何内容复制到JAR中,并使用相同的名称;例如src/main/resource/foo/bar.xml
在JAR文件中变为/foo/bar.xml
。
对于WAR文件,默认设置是将任何src/main/webapp
复制到WAR文件中。因此,如果您希望在webapp中将文件作为名为/foo/bar.xml
的类路径资源进行访问,则可以将其放在src/main/webapp/WEB-INF/classes/foo/bar.xml
中。 (我假设你知道webapp类路径是如何工作的......或者这不是你的用例。)
答案 1 :(得分:1)
配置文件只是类路径上的资源,所以请使用:
URL resource = getClass().getResource("config.xml");
您需要在Use as Source Folder
文件夹中执行常规src/main/config
,以便在Eclipse中使用m2e。
答案 2 :(得分:1)
我认为配置文件默认位于 src / main / resources 。