Apache Commons Lang - StringEscapeUtils Deprecated 대안

Apache Commons Text 반영

몇일전에 네이버의 xss filter 라이브러리 인 lucy-xss-filter 프로젝트의 소스를 확인하는 중에 commons lang 라이브러의 StringEscapeUtils.escapeHtml4 를 사용하는 부분을 확인하고, 개인적으로 사용하려고 보니 deprecated 문구를 확인했다.

lucy-xss-filter 에서 사용하는 commons-lang 라이브러리의 버전은 3.3.2 이고, 내가 사용하려던 버전은 3.8 이상 버전이었다. ​

처음엔 내가 직접 사용한 라이브러리는 아니니, 네이버는 저 deprecated되는 라이브러리에 대한 대응을 어떻게 하려나 하고 슬쩍 지나쳤다.

지금 와서 개인적으로 새로운 프로젝트를 진행하려 보니, 관련 warning 이 상당히 신경쓰여 commons lang 프로젝트는 어떻게 하려고 저러다 싶어 찾아봤다.

Apache Commons – Apache Commons 들어가서 [좌측메뉴 - components - Lang]을 선택 혹은

​ 그냥 아래링크로 바로 접속해보면된다. http://commons.apache.org/proper/commons-lang/

좌측 메뉴 javadoc 로 들어가면 보이는 화면의 상단 링크 중에 DPRECATED 를 선택하면 DEPRECATED 되는 패키지, 인터페이스, 클래스, 속성… 거의 3.6 버전 기준으로 상당히 많은 부분이 deprecated 된다.

commons-text 프로젝트로 대처된다는 내용이다.

내가 사용하려 했던, StringEscapeUtils 도 commons-text 로 대처된다.

이참에 한번 받아보자는 생각으로 mvnrepository 에서 찾아봤다.

Maven Repository: Search/Browse/Explore

현재 기준의 commons-text 최신 버전 1.8 으로

Maven

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-text</artifactId>
    <version>1.8</version>
</dependency>

gradle

compile group: 'org.apache.commons', name: 'commons-text', version: '1.8'

의존성 추가해주니 경고없이,

import org.apache.commons.text.StringEscapeUtils;
StringEscapeUtils.escapeJava(str);

라이브러리 및 패키지만 변경됐지, 변경없이 잘 돌아간다. commons 에서 라이브러리의 도메인정리를 한건가 싶은 정도로만 생각든다. 기존 프로젝트는 굳이 commons-lang 버전변경없이 진행하겠지만, commons-lang 라이브러리의 3.6 이상 버전을 사용한다면 처음부터 commons-text 라이브러리를 추가해주면 좋겠다.

원래 이렇게 일일이 찾아보는 성격은 아닌데, 한번 정리해두면 유용할 것 같아 정리해본다.

program

부호화절대치, 1의 보수, 2의 보수

최대 1 분 소요

부호화절대치, 1의 보수, 2의 보수 https://blog.naver.com/PostView.nhn?blogId=piyoro&logNo=221774762703&redirect=Dlog&widgetTypeCall=true&directAccess=false

프로그램 일반 블로그 링크 모음

최대 1 분 소요

10진수를 2진수로 변환, 2진수를 10진수로 변환 https://blog.naver.com/PostView.nhn?blogId=piyoro&logNo=221770535071&redirect=Dlog&widgetTypeCall=true&directAcc...

맨 위로 이동 ↑

javapuzzler

자바퍼즐러 1번째 퍼즐 : 홀수 확인

최대 1 분 소요

자바퍼즐러 1번째 퍼즐 : 홀수 확인 https://blog.naver.com/PostView.nhn?blogId=piyoro&logNo=221767073018&redirect=Dlog&widgetTypeCall=true&directAccess=false

맨 위로 이동 ↑

java

맨 위로 이동 ↑