我有一个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
的创造者,如果那是相关的。
答案 0 :(得分:0)
你不能说,但我敢打赌你使用的是Windows,其中类路径分隔符是&#39 ;;'而不是':'。