본문 바로가기
Project/Trouble Shooting

[gRPC] cannot find symbol class Generated 에러 (gRPC 관련 클래스들이 생성되지 않는 문제)

by ryuneng 2025. 1. 24.
반응형

⚠️ 오류

  • gRPC 설정 과정에서 gRPC 관련 클래스들이 생성되지 않고 오류가 발생했다.
Cwanted-all-cleargold-marketauth-serverbuildgeneratedsourceprotomaingrpccomryunenggoldauthgrpcTestServiceGrpc.java10 error cannot find symbol
@javax.annotation.Generated(
                 ^
  symbol   class Generated
  location package javax.annotation

❓ 원인

  • 해당 오류는 javax.annotation.Generated 클래스를 찾을 수 없다는 의미다.
    이 클래스는 Java 9부터 Java 표준 라이브러리에서 제외되었기 때문에, 현재 사용중인 Java 17버전에서 충돌이 발생했다.
    javax.annotation.Generatedjavax.annotation 패키지에 속해 있기 때문에, 이 패키지를 별도로 추가하면 문제를 해결할 수 있다.


💡 해결 방법

  • build.gradle에 아래 의존성을 추가한 후, Gradle을 clean하고 build를 수행했다.
    implementation 'javax.annotation:javax.annotation-api:1.3.2'

✅ 성공

  • build > generated 하위에 gRPC 관련 클래스들이 정상적으로 생성되었다.


💥 반전

하지만, 생성된 클래스들이 정상적으로 import되지 않는 2차 문제가 또 발생했다 ..

  • 여러 참고 자료를 찾아 수정해봤지만, 문제는 해결되지 않았다. gRPC 관련 자료가 많지 않아 해결에 어려움이 있었다.

+ 추가

  • 원인이 gRPC 버전 호환성 문제임을 파악하고, 기존 의존성을 전부 제거한 후 최신 버전으로 교체하니 정상적으로 작동했다. 새로운 라이브러리를 추가할 때는 항상 버전 호환성을 잘 확인하자

 


< 해당 글은 velog에서 이전하며 옮겨온 글로, 가독성이 좋지 않을 수 있는 점 양해 부탁드립니다. >

🔗 velog 버전 보기 : https://velog.io/@ryuneng2/gRPC-cannot-find-symbol-class-Generated-에러