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 に答える