본문 바로가기
Memo/Note

[Error] unknown enum constant When.MAYBE

by 달의 조각 2022. 8. 16.

 

문제

 

스프링 컨테이너 코드를 컴파일 하니 unknown enum constant When.MAYBE라는 경고가 출력되었다.

@Nullable 어노테이션을 사용할 때 발생하는 문제라고 한다.

 

 

해결

 

이 경고는 javax.annotation.meta.When 프로젝트 런타임에서 열거형을 사용할 수 없기 때문에 발생한다.
이 경고를 수정하려면 JSR305 구현을 가져와야 한다.

Google 버그 찾기 저장소에는 문제를 해결해야 하는 JSR305 구현이 포함되어 있다.

https://mvnrepository.com/artifact/com.google.code.findbugs/jsr305

 

build.gradle에 의존성 추가

...
dependencies {
    ...

    implementation 'com.google.code.findbugs:jsr305:3.0.2'

    ...
}
...

 

https://stackoverflow.com/questions/53326271/spring-nullable-annotation-generates-unknown-enum-constant-warning

 

Spring nullable annotation generates unknown enum constant warning

In my app, whenever I add @Nullable (which imports from org.springframework.lang.Nullable) to any of the fields, I get a build warning: Warning:java: unknown enum constant javax.annotation.meta...

stackoverflow.com

https://stackoverflow.com/questions/11104667/java-compilation-error-using-findbugs-com-sun-tools-javac-code-symbolcompletio

 

java compilation error using findbugs. com.sun.tools.javac.code.Symbol$CompletionFailure: class file for javax.annotation.meta.W

I am trying to use the annotations of findbugs 1.3.2. I used the edu.umd.cs.findbugs.annotations.NonNull annotation in a simple test, and it works fine. However, now I have a large project, compo...

stackoverflow.com

 

댓글