2012-03-15 95 views
0

我的項目需要gif4j套件。所以我在我的控制面板的環境變量窗口中將類路徑設置爲「C:... \ gif4j_pro_trial_2.3.jar」。我知道當我們有多個classpath值時,用分號分隔它們。我也是這樣做的。但是當我運行這個文件時,我仍然遇到這個錯誤。類路徑不工作

Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problems: 
    The import com.gif4j.TextPainter cannot be resolved 
    The import com.gif4j.Watermark cannot be resolved 

因爲我不是編寫代碼的人,所以我不太瞭解這裏發生了什麼。我錯過了什麼?

+0

你試過在設置類路徑後再次編譯ur代碼嗎? – 2012-03-15 11:42:48

+0

我的意思是Windows控制面板@Andreas_D – 2012-03-15 13:21:26

+0

@AshwiniRaman不,我沒有!這會有所作爲嗎? – 2012-03-15 13:28:48

回答

1

此錯誤沒有說明在運行時無法找到gif4j類。相反,它的意思是,當代碼爲編譯爲時,這些類不可用。 javac不會產生這些類型的錯誤(相反,它只是無法編譯),所以我假設這些代碼是由Eclipse編譯的。在這種情況下,你應該檢查你的Eclipse項目配置,並確保gif4j庫正確包含在那裏。

+0

好的我相信這個項目是在Eclipse中編譯的。但我對它很陌生,所以我不知道該去哪裏檢查。所以,無論如何,你說的是我應該適當地包含庫並重新編譯代碼?不需要擔心設置類路徑變量? – 2012-03-15 13:28:19

+0

是的,你應該適當地包含庫並重新編譯代碼。您可能還需要設置classpath變量來運行代碼,但是直到代碼編譯正確後才肯定知道這一點。 – 2012-03-15 16:25:09

1

throw new Error(..()聲明已由eclipse創建。每當eclipse由於方法中的編譯時錯誤而無法編譯類時,它會嘗試爲這些方法創建存根。所以你會總是找到一個類文件,即使源代碼有錯誤。

這種的樣子(例如)的方法:

public long calculate(long a, long b) { 
    throw new Error("Unresolved compilation problems"); // + additional information 
} 

實際上它並不存在於您的源代碼,它只是在字節代碼級別創建。

那麼,發生了什麼事:最有可能是您(或他人)在你的項目中被忽略的錯誤標記和現在試圖利用在bin文件夾中的類文件。您無法在運行時解決該問題,您已修復該項目以創建正確編譯的類。