Published 2023. 4. 24. 17:46
프로젝트 에러가 발생하면... 일상

 

프로젝트를 암호화 후에 localhost에서 실행해보려 했더니

 

Reason: Task ':processResources' uses this output of task ':extractProto' without declaring an explicit or implicit dependency.

This can lead to incorrect results being produced, depending on what order the tasks are executed.

 

라는 오류가 발생해서 이걸 해결하는데 꽤 시간이 걸렸다.

결론부터 말하자면 이전 프로젝트에서 JDK 버전이 제대로 맞지 않아 이미 실행이 안되고 있던 상태였다.

 

Process 'command 'C:/Program Files/OpenJDK/jdk-11.0.1/bin/java.exe'' finished with non-zero exit value 1

 

얘도 같은 원인인지는 모르겠지만... 이전 소스코드를 실행했을 때의 오류를 고치고 정상적인 실행이 되는지 확인한 후에 원래 실행하려는 프로젝트를 확인하였다. (다행히 정상적으로 돌아갔다.)

 


 

저 오류를 고치는데 한 행동은

1. JDK 버전 확인

2. Gradle 버전 다운그레이드

였다.

 

JDK 버전의 경우 Open JDK를 기본적으로 사용하고 있었는데 프로젝트의 JDK 버전과 Gradle이 build될 때 사용하는 버전이 달랐다.

전자는 Open JDK 11을, 후자는 프로젝트의  SDK를 사용하고 있었기 때문에 Gradle에 맞춰 프로젝트의 SDK로 통일하였다.

 

다음으로 Gradle 버전을 다운그레이드 했다.

이전 소스코드의 Gradle 버전은 7.5.1이었는데 어째서인지 실행하려던 소스코드는 8.0 버전으로 셋팅되어 있었다.

서칭을 해보니 Gradle 버전이 최신일 경우 종종 발생할 수 있는 문제라고 한다. dependency를 추가해주면 되지만 git commit 등의 이유로 Gradle 버전을 다운그레이드 시켰다.

그리고 이 두 가지를 셋팅하고 나니 소스코드가 정상적으로 작동했다.

 


 

난생 처음보는 에러라 꽤 오랜시간동안 실행해야 하는 소스 코드를 잡고 늘어졌었는데 이번 기회에 느낀 점이 있다.

 

1. 이전 소스코드가 있다면 그 소스코드가 정상적으로 작동하는지 확인한다.

2. 정상적으로 작동할 경우 문제가 되는 부분을 다시 확인한다.

3. 정상적으로 작동하지 않을 경우 이전 코드에서 발생하는 문제부터 해결한다.

 

사실상 1번 때문에 이 글을 작성한 것이다.

더 과거의 소스코드가 작동했었기 때문에 이번에도 잘 되겠지~ 하고 넘어갔는데 실상은 그렇지 않은 경우도 대수롭지 않게 있다. 그러니 문제가 발생했을 때 해결법이 바로 안보인다면?!

이전 소스코드에 이상이 없는지 먼저 확인하도록 하자.

'일상' 카테고리의 다른 글

간만의 근황 이야기  (1) 2025.02.27
6월의 근황  (0) 2023.06.12
빙글빙글 돌아가는 얼렁뚱땅 하루들  (0) 2023.04.11
입사 4일차, 코드 찬찬히 읽어보면서 공부하는 중  (0) 2023.04.03