[英]order of javac classpath affecting whether classes can be found
我有一個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
的創建者。
您沒有說,但是我敢打賭您正在使用Windows,其中的類路徑分隔符為';',而不是':'。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.