2014-03-13 139 views
0

我一直在試圖導入一個包含在.jar文件中的類。我的my_package.jar文件駐留在/Users/user/Library/Java/Extensions,我的~/.bashrc包含以下行export CLASSPATH = "$CLASSPATH:/Users/user/Library/Java/Extensions。在我的程序的頂部是一行,其內容爲import my_package.MyClass;。每當我嘗試使用javac MyProgram.java編譯程序時,我都會得到package my_package does not exist。我在網上搜索了一下,發現了幾個可能的修復方法。其中之一涉及將.jar文件移動到當前目錄並調用javac,如下所示找到here如何導入.jar文件

javac -cp '.:my_package.jar' MyClass.java

這就產生了同樣的錯誤。

我也嘗試將CLASSPATH更改爲/Users/David_Johnson/Library/Java/Extensions//Users/David_Johnson/Library/Java/Extensions/*。他們都產生同樣的錯誤。

看起來好像我錯過了一些相當微不足道的東西。任何幫助捕捉我的錯誤將不勝感激。

我在最大OSX 10.8.5使用javac 1.7.0_07

回答

0

CLASSPATH必須明確列出每一個JAR文件。通配符或目錄不受支持。

雖然可以使用bash生成列表。

for jar in /Users/where/ever/they/are/*.jar 
do 
    CLASSPATH="$CLASSPATH:$jar" 
done 
export CLASSPATH 
+0

我已經完全按照您的描述包含了您的建議,並且仍然收到相同的錯誤。我試着用javac MyClass.java編譯。在確定你所提出的改變後,我確保提供我的〜/ .bashrc。我使用echo檢查了我的CLASSPATH,以驗證正確的.jar文件現在包含在CLASSPATH中,它確實是。 – PhiloEpisteme