2

我正在尝试使用 Apache Commons StringEscapeUtils。我的 import 语句中有这行代码,

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

它没有给我来自同一个 StringEscapeUtils 包的 unescapeHtml 错误。

我尝试清除 .class 文件以重新编译。它没有解决问题,将不胜感激。

提前致谢!

4

1 回答 1

1

使用类名称为方法调用添加前缀以避免任何歧义。org.apache.commons.lang3.StringEscapeUtils 中没有 unescapeHtml,使用 unescapeHtml3 或 unescapeHtml4。

factualObject.setTitle( 
   StringEscapeUtils.unescapeHtml4( 
      StringEscapeUtils.unescapeJava( resultActivity.get(TITLE).getAsString())));
于 2015-09-19T10:31:04.147 回答