gpt4 book ai didi

java - 使用类加载器访问不同的文件夹

转载 作者:行者123 更新时间:2023-12-01 14:33:48 25 4
gpt4 key购买 nike

 URL root = Thread.currentThread().getContextClassLoader().getResource(packageName.replace(".", "/"));

我使用上面的语句来访问给定包名称的.class 文件。但在某些情况下,我需要从 \build\test\classes 而不是 \build\classes 访问文件。如何修改上面的语句?

最佳答案

您的类路径有问题。${project}/build/test/classes${project}/build/classes 文件夹表明您要么使用 Ant 来编译代码,要么选中 Eclipse 的“新建 Java 项目”对话框中的“允许源文件夹的输出文件夹” 选项。

您应该将项目配置为将所有源文件编译到同一输出文件夹中,在您的情况下为 /build/classes

如果您使用类加载器加载资源,则您为其指定的路径对于整个文件系统来说并不是绝对的,即使它以 / 开头。

InputStream is = this.getClass().getResourceAsStream("/some/resource");

这实际上意味着找到这个文件${project}/build/classes/some/resource。为了在目标位置获取该资源,最简单的方法是将其放置在 ${project}/src/some/resource 中。

尽管如果您使用 Eclipse,则应该考虑使用 Maven 和 m2eclipse。

关于java - 使用类加载器访问不同的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16650587/

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