web-dev-qa-db-ja.com

org.Apache.common.lang3 StringEscapeUtilsが非推奨になったのはなぜですか?

StringEscapeUtilsがApache Lang3 v3.7から非推奨になった理由を説明できませんでした。

https://commons.Apache.org/proper/commons-lang/apidocs/org/Apache/commons/lang3/StringEscapeUtils.html

HTMLのエスケープ/アンエスケープに今何を使うべきか

26
gene b.

クラスはパッケージから移動されました

org.Apache.commons。lang3

org.Apache.commons。text

廃止されたライブラリは簡単に置き換えることができます:

Build.gradleで:

implementation 'org.Apache.commons:commons-text:1.6'

そして、StringEscapeUtilsを使用するクラスで、正しいクラスをインポートしてください:

import org.Apache.commons.text.StringEscapeUtils;

1.6は現在最新バージョン(2019年5月2日最終確認)ですが、mavenでバージョンを確認できます: https://mvnrepository.com/artifact/org.Apache.commons/commons-text

38
Björn Kechel

廃止予定リスト により、新しいプロジェクトに移動されました- commons-text

12
Jamie Bisotti

Commons-lang 3.6リリースノート から:

Apache Commons Communityは最近、文字列を処理するアルゴリズムのホームとしてCommons Textコンポーネントを設定しました。このため、Commons Langの文字列を中心とした機能のほとんどは廃止され、Commons Textに移行されました。これも:

o org.Apache.commons.lang3.textおよびorg.Apache.commons.lang3.text.translateパッケージのすべてのクラスo org.Apache.commons.lang3.StringEscapeUtils o org.Apache.commons.lang3.RandomStringUtils oメソッドorg.Apache.commons.lang3.StringUtils.getJaroWinklerDistanceおよびorg.Apache.commons.lang3.StringUtils.getLevenshteinDistance

詳細については、Commons Text Webサイトを参照してください。

http://commons.Apache.org/text
8
fn.

以下の手順を実行します

  • Pom.xmlに以下の依存関係を追加します(mavenを使用している場合)
    <依存関係>
    <groupId> org.Apache.commons </ groupId>
    <artifactId> commons-text </ artifactId>
    <version> 1.4 </ version>
    <dependency>

  • 以下のように正しいパッケージをインポートします
    import org.Apache.commons.text.StringEscapeUtils;

  • このクラスにはそのようなメソッドunescapeHtml()はもうありません。代わりに、その2つのバリエーションが利用可能ですnescapeHtml3()およびunescapeHtml4()
  • UnescapeHtml3()を使用してHtml 3.0文字をエスケープ解除します
  • UnescapeHtml4()を使用してHtml 4.0文字をエスケープ解除します
4
sapan prajapati