Sonarqube 분석 시도시 Unable to highlight file 문제 해결

WindSekirun (wind.seo)·2022년 4월 26일
0
post-thumbnail

이 글은 기존 운영했던 WordPress 블로그인 PyxisPub: Development Life (pyxispub.uzuki.live) 에서 가져온 글 입니다. 모든 글을 가져오지는 않으며, 작성 시점과 현재 시점에는 차이가 많이 존재합니다.

작성 시점: 2019-08-27

프로젝트를 Sonarqube에 연동하여 분석하려고 할 때 다음과 같은 에러가 나오는 일이 종종 있다.

> `gradlew sonarqube --stacktrace`

* Exception is:  
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:sonarqube'.  
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)  
Caused by: java.lang.IllegalArgumentException: Unable to highlight file src/main/java/com/github/windsekirun/**/data/ImageArticle.kt  
    ... 32 more  
Caused by: java.lang.IllegalArgumentException: Start pointer [line=20, lineOffset=0] should be before end pointer [line=20, lineOffset=0]  
    ... 111 more

해당 문제는 특정 파일(ImageArticle.kt) 의 특정 위치에 해독할 수 없는 문자열이 있는 것으로 파악되는데, 주로 \r\n 와 같은 File Encoding 관련 문제일 가능성이 크다.

이 때에는 IDEA 하단 UTF-8 부분을 클릭하여 UTF-16으로 강제 변환한 다음, 다시 UTF-8로 변경하면 해결되는 경우가 많다.

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:sonarqube'.  
Caused by: java.lang.IllegalArgumentException: Unable to highlight file src/main/java/com/github/windsekirun/**/data/VideoArticle.kt  
    ... 32 more  
Caused by: java.lang.IllegalArgumentException: 713 is not a valid offset for file src/main/java/com/github/windsekirun/**/data/VideoArticle.kt. Max offset is 655  
    ... 104 more

위와 같은 로그가 나올 때도 있는데, 이 때에는 해당 파일의 인코딩이 UTF-16으로 되어있을 때로, 마찬가지로 UTF-8로 다시 변환해주면 된다.

이렇게 수정한 파일들은 실제로 코드가 변경되지 않았지만, line sperators가 변경된 것으로 나오기도 한다.

profile
Android Developer @kakaobank

0개의 댓글