sonarqube(소나큐브)를 스프링부트 프로젝트와 연동해서 띄우려는데 아래 에러가 발생했다.
Process exited with exit value [es]: 1
Process[es] is stopped
SonarQube is stopped
해당 에러가 발생하는 이유는 여러가지가 있는 듯하다. 내가 겪고 이 에러를 해결할 수 있었던 방법을 모두 써보겠다.
아쉬운 점은 이 에러의 정확한 발생 경위 및 원인은 잘 모르겠다는 것이고, 해결 방법만 적어보려 한다.
1. 소나큐브와 JDK (Java) 버전 호환성 문제
소나큐브 9.6 버전 기준, JDK 8과 JDK 17은 호환되지 않는다.
공식문서에서 자신의 자바 버전이 소나큐브와 호환되는지 확인해보자.
(공식문서 링크: https://docs.sonarqube.org/latest/requirements/requirements/ )
실제로 JAVA 버전과 소나큐브 버전 호환이 되지 않아 [es]: 1 에러를 겪은 사례가 존재한다.
https://community.sonarsource.com/t/sonarqube-process-exited-with-exit-value-es-1/16805
2. 소나큐브 및 Elasticsearch 권한 문제
권한이 부족해서 생긴 문제일 수 있다. 아래 명령어를 입력했는지 확인하자.
# chown 명령어로 /app/sonarqube/** (소나큐브 설치한 디렉토리) 권한 소유자 변경
# sonarqube 소유자를 ubuntu 으로 변경
$ sudo chown -R ubuntu /app/sonarqube
명령어를 입력하는 위치는 어디든 상관없다.
입력 후에, 소나큐브가 실행되는지 확인해보자.
3. temp 디렉토리 삭제
내가 이 에러를 해결했던 방법이다.
sonarqube를 설치한 디렉토리 (나의 경우는 /app/sonarqube/sonarqube-9.5.0.56709)에 들어가서 ls 명령어를 입력해주어 temp 디렉토리가 존재한다면 삭제해주자.
# temp 디렉토리가 존재할 경우
sudo rm -r temp
이제 다시 lib 디렉토리로 들어가서 소나큐브를 실행하면 된다.
그 외에 다양한 방법이 있을 수 있다.
한글 자료가 많이 없어서 상당히 에러를 해결하기 힘들었다. 이 글이 나중에 소나큐브를 연동할 때, 혹은 다른 사람들에게 도움이 됐으면 좋겠다. 행여나, 다른 방법으로 이 에러를 해결했다면 댓글로 남겨주길 바랍니다!
참고
- sonarqube 버전 호환성 공식문서: https://docs.sonarqube.org/latest/requirements/requirements/
- 소나큐브 공식 홈페이지 질문글: https://community.sonarsource.com/t/sonarqube-process-exited-with-exit-value-es-1/16805/7