0

如果我将一个名为 libA.jar 的文件放在类路径文件夹中,并将旧文件重命名为:

libA.jar.old

类加载器会加载类吗?

我在 Solaris 8 上使用 weblogic。

谢谢!

你做

4

1 回答 1

2

不。

如果您使用的是 Java 5 或更早版本,则必须明确命名要加载的所有类和 jar 文件。显然,由于旧的 libA.jar.old 没有命名,因此不会加载它。

如果您使用的是 Java 6,那就有点不同了,因为那里存在通配符匹配的概念。

不过,不会加载非 jar 文件。资料取自官网。引用:

类路径条目可以包含基本名称通配符 *,这被认为等同于指定目录中所有扩展名为 .jar 或 .JAR 的文件的列表。例如,类路径条目 foo/* 指定名为 foo 的目录中的所有 JAR 文件。

仅由 * 组成的类路径条目将扩展为当前目录中所有 jar 文件的列表。包含 * 的类路径条目将不匹配类文件。要匹配单个目录 foo 中的类和 JAR 文件,请使用 foo;foo/* 或 foo/*;foo。选择的顺序决定了 foo 中的类和资源是否在 foo 中的 JAR 文件之前加载,反之亦然。

于 2010-12-20T09:38:04.640 回答