影响是否可以找到类的javac类路径的顺序

时间:2018-01-18 19:44:28

标签: java classpath

我有一个jar文件MyClasses.jar,其中包含一个类MyReader。我有一个使用它的客户端类BuildReader

// BuildReader.java
MyReader reader = new MyReader();

BuildReader.java位于此示例的当前工作目录中(并且是唯一存在的文件)。如果我编译:

javac -cp .:/path/to/MyClasses.jar BuildReader.java 

然后我收到javac无法找到类MyReader的错误。

BuildReader.java:24: error: cannot find symbol
MyReader file = new MyReader();
^
symbol:   class MyReader
location: class BuildReader

但是,如果我编译而不是:

javac -cp /path/to/MyClasses.jar:. BuildReader.java

它编译得很好。我在网上看到的所有内容都表明,唯一可能存在问题的是,或许还有MyReader的其他版本;没有。任何人都可以帮助我理解为什么javac类路径的顺序导致编译器错误?我不是MyClasses.jar的创造者,如果那是相关的。

1 个答案:

答案 0 :(得分:0)

你不能说,但我敢打赌你使用的是Windows,其中类路径分隔符是&#39 ;;'而不是':'。