본문 바로가기
Java Spring/MVC

@Nullable 사용 시 warning 발생 없애기

by GGShin 2022. 9. 9.

문제


프로젝트를 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에 실패하게 됩니다. 

 

 

 

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://www.petrikainulainen.net/programming/maven/findbugs-maven-plugin-tutorial/#:~:text=FindBugs%20is%20a%20static%20code,problems%20found%20from%20Java%20code.

 

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