2015-09-19 67 views
2

我正在嘗試使用Apache Commons StringEscapeUtils。我有這條線在我的import語句代碼,Javac未正確註冊類路徑和方法,未找到符號

import org.apache.commons.lang3.StringEscapeUtils; 

我已經下載的Apache Commons Lang中,提取並轉移:

commons-lang3-3.4.jar

(注:只是.jar文件,沒有任何其他的東西,不知道它是否重要)到我的lib目錄中,在那裏我存儲了我的所有其他.jar文件。

,我用它編譯:

javac -cp .:lib/* Main.java 

然而,javac的是給我這個錯誤:

./FactualResultDeserializer.java:43: error: cannot find symbol 
        factualObject.setTitle(unescapeHtml(unescapeJava(resultActivity.get(TITLE).getAsString()))); 
                 ^
    symbol: method unescapeJava(String) 
    location: class FactualResultDeserializer 
./FactualResultDeserializer.java:51: error: cannot find symbol 
          categories[j] = unescapeHtml(unescapeJava(catArray.get(0).getAsJsonArray().get(j).getAsString())); 
                 ^
    symbol: method unescapeJava(String) 
    location: class FactualResultDeserializer 
2 errors 

它沒有給我unescapeHtml一個錯誤是來自同一StringEscapeUtils包。

我已經嘗試清除.class文件來重新編譯。它沒有解決問題,幫助將不勝感激。

在此先感謝!

+0

不要把javadoc jar放到你的'lib'中。保持文檔與工作瓶分開。 – RealSkeptic

+0

刪除它,問題仍然存在。 – ykaseng

+0

班上沒有unescapeHtml。並且導入不會讓你調用靜態方法unescapeJava而不用類名稱作爲前綴。 – laune

回答

1

前綴方法調用與類的名稱,以避免任何歧義。 org.apache.commons.lang3.StringEscapeUtils中沒有unescapeHtml,請使用unescapeHtml3或unescapeHtml4。

factualObject.setTitle( 
    StringEscapeUtils.unescapeHtml4( 
     StringEscapeUtils.unescapeJava(resultActivity.get(TITLE).getAsString()))); 
+0

@RealSkeptic謝謝 - 修正。 – laune

+0

我想這就是她的意思,反正,謝謝你們!它工作,我學到了一些東西。 – ykaseng