article thumbnail image
Published 2022. 11. 25. 11:16

 

jwt TokenProvider 구현중 Cannot find method 'value' 에러를 마주쳤습니다. 이 에러를 처리하는 방법에 대해 정리하려고 합니다.

 

해결방법

1. File-Settings에서 Annotation Processors에서 Enable annotation processing을 체크합니다.

 

2. 상단 import가 된 lombok 부분을 수정을 합니다.

 

수정전

import lombok.Value;

 

수정후

import org.springframework.beans.factory.annotation.Value;

 

application.yml을 열어서 jwt가 spring 하단으로 갔는지 체크합니다. (하단으로 가면 안됨)

spring:
  h2:
    console:
      enabled: true

  datasource:
    url: jdbc:h2:tcp://localhost/~/jwtdb
    driver-class-name: org.h2.Driver
    username: sa
    password:

  jpa:
    database-platform: org.hibernate.dialect.H2Dialect
    hibernate:
      ddl-auto: create
    properties:
      hibernate:
        format_sql: true
        show_sql: true

jwt:
  header: Authorization
  #HS512 알고리즘을 사용할 것이기 때문에 512bit, 즉 64byte 이상의 secret key를 사용해야 한다.
  #echo 'silvernine-tech-spring-boot-jwt-tutorial-secret-silvernine-tech-spring-boot-jwt-tutorial-secret'|base64
  secret: c2lsdmVybmluZS10ZWNoLXNwcmluZy1ib290LWp3dC10dXRvcmlhbC1zZWNyZXQtc2lsdmVybmluZS10ZWNoLXNwcmluZy1ib290LWp3dC10dXRvcmlhbC1zZWNyZXQK
  token-validity-in-seconds: 86400

 

오류가 사라진것을 확인할수 있습니다. yml에서 value를 가져올때 Cannot find method 'value' 에러를 마주치면, 해당 내용을 참고하면 될것 같습니다.

복사했습니다!