Почему 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


person gene b.    schedule 14.12.2017    source источник
comment
Это прямо там, в ссылке, которую вы разместили: Deprecated. as of 3.6, use commons-text StringEscapeUtils instead   -  person Taylor    schedule 14.12.2017


Ответы (4)


Класс был перемещен из пакета

org.apache.commons.lang3

to

org.apache.commons.текст

Вы можете легко заменить устаревшую библиотеку:

В вашем build.gradle:

implementation 'org.apache.commons:commons-text:1.9'

И в своем классе, используя StringEscapeUtils, убедитесь, что вы импортируете правильный класс:

import org.apache.commons.text.StringEscapeUtils;

1.9 в настоящее время является самой новой версией (последняя проверка 24 февраля 2021 г.), но вы можете проверить версии на maven: https://mvnrepository.com/artifact/org.apache.commons/commons-text

person Björn Kechel    schedule 04.04.2018
comment
@user3871754 user3871754 Нет, он устарел в org.apache.commons.lang3, поскольку он был принят здесь, в org.apache.commons.text, как вы можете прочитать здесь: commons.apache.org/proper/commons-text/javadocs/api-release/ (в нем четко указано Это код был адаптирован из Apache Commons Lang 3.5.) - person Björn Kechel; 22.08.2018

Согласно списку устаревших, он был перемещен в новый проект -- commons-text

person Jamie Bisotti    schedule 14.12.2017

Из примечаний к выпуску Commons-lang 3.6 :

Сообщество Apache Commons недавно установило компонент 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 The методы org.apache.commons.lang3.StringUtils.getJaroWinklerDistance и org.apache.commons.lang3.StringUtils.getLevenshteinDistance

Для получения дополнительной информации посетите веб-сайт Commons Text:

http://commons.apache.org/text
person fn.    schedule 14.12.2017

Выполните следующие шаги

  • Добавьте приведенную ниже зависимость в ваш pom.xml (при использовании maven)
    ‹dependency›
    ‹groupId›org.apache.commons‹/groupId›
    ‹artifactId›commons-text‹/artifactId›
    ‹версия›1.4‹/версия›
    ‹зависимость›

  • Импортируйте правильный пакет, как показано ниже
    import org.apache.commons.text.StringEscapeUtils;

  • В этом классе больше нет такого метода unescapeHtml(), вместо этого доступны два его варианта unescapeHtml3() и unescapeHtml4()
  • Используйте unescapeHtml3() для отмены экранирования символов Html 3.0.
  • Используйте unescapeHtml4() для отмены экранирования символов Html 4.0.
person sapan prajapati    schedule 24.09.2018
comment
Доступна последняя версия для этой библиотеки ‹версия›1.9‹/версия› - person Vivek Jain; 11.05.2021
comment
Да, @VivekJain, вы правы, но на момент публикации моего ответа было 1,4. - person sapan prajapati; 06.06.2021