Skip to content

[feature] build failed부터 build successful까지 #36

@pu2rile

Description

@pu2rile

💥이슈 설명

이슈 로그

  1. 종경님이 빌드 해 주신 이후 다음날 최근 커밋 사항 풀 받고 다시 재빌드 하는 과정에서 다시 실패함
  2. 이것저것 찾아보다가 현재 사용하고 있는 gradle 버전(7.5.1)과 jdk 버전(21.0.3)이 호환이 안 되는 걸 알게 됨
    2-1. java는 21이지만 javac가 여전히 17에서 업그레이드 되지 않음
  3. java 21과 호환이 되는 gradle 8.1을 설치함
    3-1. 2-1의 문제로 계속 빌드 실패
  4. javac도 21으로 업그레이드 성공
  5. jdk 21과 호환되는 gradle 버전은 8.x이지만 확실히 하기 위해 가장 최신 버전인 8.7로 다시 설치
    5-1. 설치 과정에서 아무 오류가 없었지만 gradle -v 으로 확인하면 여전히 8.1이 나옴
    5-2 gradlew -v 으로 확인하니 8.7이 나옴 ( -> gradle 버전이랑 gradlew 버전은 원래 상이한가?)
  6. gradle build 으로 빌드 하니 실패
    6-1. 당연함 gradle은 8.1이고 gradlew가 8.7임
  7. ./gradlew build 으로 빌드 하니 다시 실패
    7-1. 이전 캐시의 문제로 빌드가 되지 않는다는 오류 메시지 확인
  8. /GreenDay/server/build 파일 삭제 후
  9. application-aws.properties 파일 다시 만들고 재빌드
  10. 빌드 성공~!

해결 방법 및 과정

2-1. java는 21이지만 javac가 여전히 17에서 업그레이드 되지 않음

  • /etc/environment 파일은 시스템 전체의 환경 변수를 설정하는데 사용되므로 이 파일을 수정하여 PATH를 변경하면 시스템 전체에서 JDK 21의 javac를 사용할 수 있음
sudo nano /etc/environment

으로 파일 편집기에 들어간 후

PATH="/usr/lib/jvm/java-21-openjdk-amd64/bin:$PATH"

붙여넣으면 됨

  • .bashrc 파일에도 PATH 환경변수 추가 및 수정
export PATH=$PATH:/opt/gradle-8.7/bin:$PATH
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
export PATH=$PATH:/usr/bin:/bin:

5. jdk 21과 호환되는 gradle 버전은 8.x이지만 확실히 하기 위해 가장 최신 버전인 8.7로 다시 설치

  • Gradle 다운로드
    Gradle 공식 웹사이트에서 최신 버전 다운로드
wget https://services.gradle.org/distributions/gradle-8.7-bin.zip
  • 압축 해제
    다운로드한 압축 파일을 원하는 디렉토리에 해제
sudo unzip -d /opt/gradle gradle-8.7-bin.zip
  • 환경 변수 설정
    Gradle이 설치된 경로를 시스템 PATH에 추가 (~/.bashrc 파일 열기)
nano ~/.bashrc

이후 해당 코드를 파일 맨끝에 추가

export PATH=/opt/gradle/gradle-8.7/bin:$PATH
  • 환경 변수 적용
    설정 파일을 다시 로드하여 환경 변수를 적용
source ~/.bashrc

8. /GreenDay/server/build 파일 삭제 후 다시 재빌드

sudo rm -rf GreenDay/server/build

9. application-aws.properties 파일 다시 만들고 재빌드

  • /GreenDay/server/src/main/resources 에서
nano application-aws.properties

으로 파일 열고 백엔드에서 받아온 코드 복붙 한 뒤 control+o 으로 파일 저장 후 control+x 로 나가기

10. 빌드 성공~!

./gradlew build

결과

image

👀참고 사항

⌛기한

~

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions