小编adr*_*n v的帖子

javac 类路径顺序与 Oracle 文档相矛盾?

Sierra/Bates SCJP书第 797 页中:

“java 和 javac [...] 首先查找包含 Java SE 标准类的目录。然后它们查找由类路径定义的目录”

Oracle 文档说明了相同的顺序。

(我知道我不应该这样做,但是......)为了测试这种行为,我在目录中实现了HashSet.javaLol.java:C:\dev\cmdline\TestProject\sources\java\util

package java.util;
public class HashSet {}
Run Code Online (Sandbox Code Playgroud)

package java.util;
import java.util.HashSet;
public class Lol {
    public static void main(String... x) {
        HashSet a = new HashSet();
        a.add("lol");
    }
}
Run Code Online (Sandbox Code Playgroud)

执行时出现编译错误:C:\dev\cmdline\TestProject\sources>javac java/util/Lol.java

java\util\Lol.java:6: 错误: 找不到符号 a.add("lol"); ^符号:方法add(String)位置:HashSet类型的变量a

...这意味着首先使用默认的类路径(当前目录)。

那么,Oracle文档有错吗?您将如何测试类路径顺序?

java jvm

5
推荐指数
1
解决办法
682
查看次数

标签 统计

java ×1

jvm ×1