我剛剛回來修復我編寫的一個小程序中的一些錯誤,現在我無法編譯,因爲一個包不存在(根據javac)。包不存在錯誤
據我所知,我沒有改變我的課程路徑或我的目錄中的內容。我不知道它們之間是否有任何Java更新。
在我的根目錄中,我有四個Java文件組成我的程序。他們沒有任何歸因於他們的包裹。另外,我在根目錄中有目錄結構org\apache\commons\cli
,其中包含來自Apache Commons的CLI java文件。 Apache文件確實有一個歸類的包,它鏡像了它們所在的目錄結構。
如果我發出命令javac -verbose -d build CommandLine.java
,它失敗
CommandLine.java:28: package org.apache.commons.cli does not exist
import org.apache.commons.cli.*;
^
CommandLine.java
是程序的入口點。
編譯器沒有嘗試編譯CLI文件,如果我事先編譯它們,仍會發生故障。另外,CLI也可以在我的類路徑中使用。
我正在運行javac 1.6.0_12。
我能做什麼/嘗試?
。
編輯的答案:
如下接受,我改變了編譯命令是:
javac -verbose -d build -classpath . CommandLine.java
現在,它的工作原理。不知道它爲什麼之前,爲什麼現在停止,但...
。
編輯的原因問題
我安裝了一個程序,它也採用了CLASSPATH運行自己的東西。它改變了屬於用戶的CLASSPATH,但是隻留下了全球的一個。我重新添加了java classpath的東西,它再次運行!
您是否檢查CLASSPATH環境變量是否實際設置並指向所需的庫? – casablanca
@casablanca設置Classpath並指向正確的位置。 – masher
如果你的意思是CLASSPATH環境變量,那就錯了。你不應該有一個。 – duffymo