문제
프로젝트를 run 할 때 어느 순간부터 아래와 같은 warning이 발생해서 원인이 무엇인지 알아보았습니다.
Warning:java: unknown enum constant javax.annotation.meta.When.MAYBE reason:
class file for javax.annotation.meta.When not found
원인
@Nullable 애노테이션을 사용하면서 생기는 경고였는데,
javax.annotation.meta.When 이라는 enum이 내 프로젝트 runtime에서 발견되지 않아서 나오는 경고였습니다.
org.springframework.lang.Nullable이 해당 enum을 참조하는데 자동으로 그 enum이 생기지 않아서라고 하더라구요.
해결
build.gradle에 아래 dependency를 추가해주어 해결하였습니다.
dependencies {
...
implementation 'com.google.code.findbugs:jsr305:3.0.2'
...
}
이 findbugs 플러그인은 자바 코드 내에 문제가 있는지 체크해주는 기능을 한다고 합니다.
그래서 만약 우려되던 문제가 실제로 있다면 build에 실패하게 됩니다.
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
FindBugs Maven Plugin Tutorial
FindBugs Maven Plugin Tutorial Author: Petri Kainulainen Published: January 14, 2014 FindBugs is a static code analysis tool which identifies problems found from Java code. We can integrate FindBugs into our build process by using the FindBugs Maven plugin
www.petrikainulainen.net
https://www.baeldung.com/intro-to-findbugs
Introduction to FindBugs | Baeldung
The article introduces FindBugs the static analysis tools, used as maven, Eclipse or Intellij plugin
www.baeldung.com
'Java Spring > MVC' 카테고리의 다른 글
@RequestParam 애노테이션 (0) | 2022.09.12 |
---|---|
Model interface (6) | 2022.08.20 |
@Controller와 @RestController의 차이점 (3) | 2022.08.06 |
em.flush() vs tx.commit() (1) | 2022.07.23 |
Spring Rest Docs 만들기 (1) | 2022.07.19 |