如果我将名为libA.jar的文件放在classpath文件夹中,并将旧文件重命名为:
libA.jar.old
类加载器会加载类吗?
我在Solaris 8上使用weblogic。
谢谢!
乌
答案 0 :(得分:2)
没有
如果您使用的是Java 5或更早版本,则必须明确命名要加载的所有类和jar文件。显然,由于旧的libA.jar.old未命名,因此不会加载。
如果您使用的是Java 6,那就有点不同了,因为那里存在通配符匹配的概念。
但是,不会加载非jar文件。来自official site的信息。引用:
类路径条目可以包含 basename通配符*,其中 被认为等同于指定 中的所有文件的列表 扩展名为.jar或的目录 。罐。例如,类路径 entry foo / *指定所有JAR文件 名为foo的目录。
类路径 只包含*扩展的条目 到的所有jar文件的列表 当前目录。类路径条目 包含*将不匹配类 文件。要匹配两个类和JAR 文件在单个目录foo中,使用 foo; foo / *或foo / *; foo。该 选择的顺序决定了 foo中的类和资源是 在foo中的JAR文件之前加载,或者 反之亦然。