我正在尝试使用Apache Commons StringEscapeUtils。我的导入语句中有这行代码,
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文件以重新编译。它没有解决问题,帮助将不胜感激。
提前致谢!
答案 0 :(得分:1)
使用类的名称对方法调用进行前缀以避免任何歧义。 org.apache.commons.lang3.StringEscapeUtils中没有unescapeHtml,请使用unescapeHtml3或unescapeHtml4。
factualObject.setTitle(
StringEscapeUtils.unescapeHtml4(
StringEscapeUtils.unescapeJava( resultActivity.get(TITLE).getAsString())));