업무 중 I/F 연동 실패가 났고, 에러메시지는 다음과 같았다.
java.lang.IllegalArgumentException: Illegal group reference
I/F 수신 받은 값 중 "Memo":"문앞 배송 부탁드려요$"
문자열에 '$' 값이 포함되어 있었고, 자바에서 파라미터 매핑 시에 오류가 난 것이다. (오라클에 해당 값을 직접 넣을 땐 문제 없음)
자바에서 쿼리 관련 파일에서 '$', '\'값이 들어갈 때 "Illegal group reference"가 발생하고 특수문자로 인식을 못한다고 한다.
이러한 문자를 특수문자로 인식하기 위한 java.util
이 있으므로 이를 사용해서 해결할 수 있다.
java.util.regex.Matcher.quoteReplacement( {변경할 문자}.toString() );
$
값이 \$
값으로 변경되었다.