我从 Git 存储库导入了一个项目,并在 Eclipse 中为其添加了 Maven 性质。在资源文件夹中,我添加了一个名为的配置文件myconf.properties
。现在,每当我尝试从 Java 代码打开这个文件时,我都会得到FileNotFoundException
。该文件也存在于target/classes
maven编译项目后生成的文件夹。
谁能告诉我可能是什么问题?我尝试加载此文件的 Java 代码是:
props.load(new FileInputStream("myconf.properties"));
where props
is a Properties
object.
谁能给我一些关于如何解决这个问题的提示?
如果编译后该文件位于 target/classes 下,则它已经位于构建路径一部分的目录中。目录 src/main/resources 是此类资源的 Maven 默认目录,并且由 Eclipse Maven 插件 (M2E) 自动放置到构建路径。因此,无需移动您的属性文件。
另一个话题是如何检索这些资源。构建路径中的资源自动位于正在运行的 Java 程序的类路径中。考虑到这一点,您应该始终使用类加载器加载此类资源。示例代码:
String resourceName = "myconf.properties"; // could also be a constant
ClassLoader loader = Thread.currentThread().getContextClassLoader();
Properties props = new Properties();
try(InputStream resourceStream = loader.getResourceAsStream(resourceName)) {
props.load(resourceStream);
}
// use props here ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)