为什么org.apache.common.lang3 StringEscapeUtils已被弃用?

时间:2017-12-14 15:57:34

标签: java apache-commons apache-commons-lang apache-commons-lang3

我找不到任何解释为什么从Apache Lang3 v3.7弃用StringEscapeUtils。

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

我们现在应该使用什么来进行HTML转义/转义

4 个答案:

答案 0 :(得分:24)

该课程已从包

移出
  

org.apache.commons。的 lang3

  

org.apache.commons。的文本

您可以轻松替换已弃用的文章:

在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

答案 1 :(得分:11)

根据deprecation listing,它已转移到新项目 - commons-text

答案 2 :(得分:6)

来自Commons-lang 3.6 release notes

  

Apache Commons社区最近设置了Commons Text组件   作为处理字符串的算法的家。出于这个原因,大部分字符串   Commons Lang的重点功能已被弃用并转移到   公共文本。这包括:

     

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网站:

http://commons.apache.org/text

答案 3 :(得分:3)

执行以下步骤

  • 在pom.xml中添加以下依赖项(如果使用maven)
    <依赖关系>
             org.apache.commons
            公共文本
             1.4

  • 按如下所示导入正确的程序包
    导入org.apache.commons.text.StringEscapeUtils;

  • 此类中不再有此类方法unescapeHtml(),而是它的两个 可用变化 unescapeHtml3()和unescapeHtml4()
  • 使用unescapeHtml3()来取消对HTML 3.0字符的作用
  • 使用unescapeHtml4()来对HTML 4.0字符进行不显示