AWS EC2 서버 './gradlew test' Error 해결법

AWS EC2 서버(Amazon Linux 2 AMI (HVM), SSD Volume Type)에
SpringBoot-WebService 프로젝트를 gin clone 으로 불러온 후,
./gradlew test 로 테스트로 검증하는 과정에서 에러가 발생했다.

🚧 Error

org.gradle.launcher.daemon.client.DaemonDisappearedException
: Gradle build daemon disappeared unexpectedly
(it may have been killed or may have crashed)

❓ 원인: Encoding

프로젝트 작업 환경은 Windows / IntelliJ였다. 또한 인코딩 문제를 예방하기 위해
사전에 settings 에서 프로젝트 인코딩을 'UTF-8'로 잡아주었다.
정확한 원인은 알 수 없지만, 서버 측에서 프로젝트를 받아 빌드하는 과정에서
ASCII가 아닌 문자로 인식되는 부분이 있는 모양이다.

🔑 해결: gradle.properties

  • 프로젝트의 build.gradle 파일이 위치한 곳과 동일한 위치
    gradle.properties 파일이 없을 경우 생성한다.

  • gradle.properties 파일에 아래의 내용을 추가한다.

    # gradle setting
    file.encoding=utf-8

  • gradle로 테스트를 다시 수행한다.
    * ./gradlew clean test --stacktrace

  • BUILD SUCCESSFUL ! !



🚧 기타 발생할 수 있는 Error

❓ 원인: gradle 버전

서버에 설치 된 gradle 버전과 프로젝트의 gradle 버전이 다를 수 있다.
gradle 버전이 업데이트 되면서 기존에 있던 기능이 사라지는 경우가 종종 있어서
이럴 경우, 빌드를 진행할 수 없다는 에러가 발생할 수 있다.

🔑 해결: 서버 gradle 재설치

서버의 gradle을 프로젝트의 gradle 버전으로 재설치한다.

  • 먼저 자신의 프로젝트에 gradle/wrapper/gradle-wrapper.properties를 찾고
    distributionUrl의 값인,
    현재 프로젝트에서 사용하는 gradle 특정 버전의 direct download link URL 값을 확인한다.

    • ex)
    • distributionUrl=https://services.gradle.org/distributions/gradle-6.8-bin.zip
  • 이 URL을 통해 서버의 gradle을 재설치 하여 프로젝트와 gradle 버전을 맞춘다.

🔨 서버 gradle 설치하기 ex.

sudo yum install wget
sudo yum install unzip

// gradle 다운 : gradle-wrapper.properties의 distributionUrl의 URL값 활용
sudo wget https://services.gradle.org/distributions/gradle-6.8-bin.zip

// 설치 디렉토리 생성
sudo mkdir /opt/gradle	

// 압축 해제
sudo unzip -d /opt/gradle gradle-6.8-bin.zip

// 환경 변수 설정
export PATH=$PATH:/opt/gradle/gradle-6.8/bin

// 파일 실행 권한 부여
chmod +x ./gradlew

📘 참고한 글

https://stackoverflow.com/questions/37171043/gradle-build-daemon-disappeared-unexpectedly-it-may-have-been-killed-or-may-hav

https://velog.io/@dsunni/AWS-EC2%EC%97%90-Spring-Boot-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EB%B0%B0%ED%8F%AC%ED%95%98%EA%B8%B0#2-%EA%B6%8C%ED%95%9C-%EB%B3%80%EA%B2%BD-gradlew

좋은 웹페이지 즐겨찾기