gpt4 book ai didi

java - 为什么在保存全局信息时从特定类创建 ClassLoader?

转载 作者:行者123 更新时间:2023-11-30 08:55:37 26 4
gpt4 key购买 nike

<分区>

我刚刚意识到这有时会返回 null(在控制台中打印 null):

package myproject;
public class A {
public static void main(String[] args) throws Exception
{
System.out.println(A.class.getClassLoader().getResource("A.class"));
}
}

尽管 ClassLoader 是从 A.class 创建的,但它与它无关。它将从当前运行的类路径加载资源。

我在运行 Maven 测试类时意识到了这一点,默认情况下,它在 project/target/test-classes 中运行,而普通类,如上面的 A,在 project/target/classes/ 中。

我认为这很令人困惑。为什么我们不使用类似 Class.getClassLoader 的东西来表明这是一个全局的东西?还有,既然ClassLoader没用,那么开发者用什么来加载自己项目相关的资源呢?如果您包含 .jar 依赖项,它会起作用,包括资源。

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