gpt4 book ai didi

java - Maven项目中资源文件的路径是什么?

转载 作者:IT老高 更新时间:2023-10-28 20:53:34 29 4
gpt4 key购买 nike

在我的 Maven 项目中,我在 main 方法中有以下代码:

FileInputStream in = new FileInputStream("database.properties");

但总是得到文件未找到错误。

我已将文件放在 src/main/resources 中,并且它已正确复制到 target/classes 目录(我相信这是 Maven 资源的预期行为),但在实际运行程序时,它似乎永远找不到文件。我尝试了其他各种途径:

FileInputStream in = new FileInputStream("./database.properties");
FileInputStream in = new FileInputStream("resources/database.properties");

等等。但似乎没有任何效果。

那么正确的使用路径是什么?


根据下面的“拒绝”回答,这就是我需要的:

InputStream in = TestDB.class.getResourceAsStream("/database.properties")

其中 TestDB 是类的名称。

感谢您的帮助,拒绝!

最佳答案

您不能像那样直接加载文件,您需要使用资源抽象(资源不仅可以在文件系统中,还可以在类路径上的任何位置 - 在 jar 文件中或其他地方)。这个抽象是你在加载资源时需要用到的。资源路径是相对于你的类文件的位置的,所以你需要在前面加上一个斜杠才能到达'root':

InputStream in = getClass().getResourceAsStream("/database.properties");

关于java - Maven项目中资源文件的路径是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3104617/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com