Javac 没有正确注册 class 路径和方法,找不到符号

Javac not registering class path and methods correctly, symbol not found

我正在尝试使用 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 文件以重新编译。它没有解决问题,帮助将不胜感激。

提前致谢!

在方法调用前加上 class 的名称以避免任何歧义。 org.apache.commons.lang3.StringEscapeUtils中没有unescapeHtml,使用unescapeHtml3或unescapeHtml4.

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