이클립스 Warning 문구 안나오게 하기
이클립스 사용시 노란색 느낌표 모양의 경고 문구를 마주할때가 있습니다.
이 문구는 경고 문구로서 코드에 컴파일 오류나 예외가 발생하는 것은 아니지만 버그를 발생할 수 있는 코드나 권장하지 않는 코딩을 하는 경우 나타나게 됩니다.


예를 들면 다음과 같이 Serializable 인터페이스를 상속받고 version ID를 초기화 해주지 않는 경우가 있습니다.
또는 유틸성 static 메서드인데 일반 멤버 메서드인것처럼 사용하는 경우에도 문법상 별 문제는 없지만 헷갈리게 할 수 있으므로 경고가 나타납니다. 이밖에도 사용하지 않고 변수 선언만 해 놓은 경우 등 많은 경우가 있습니다.
The serializable class HelloServlet does not declare a static final serialVersionUID field of type long




경고 나오지 않도록 설정 방법 1
경고를 나타내지 않게 하기 위한 방법으로는 두 가지 방법이 있습니다.
첫 번째로는 @SuppressWarnings 애너테이션을 붙여주는 것입니다.
@SuppressWarnings 애너테이션은 이 경고는 신경쓰게 하지마! 라면서 억제시키는 의미를 부여하는 애너테이션입니다.

다음과 같이 애너테이션 안에 문자열로 억제시키고 싶은 경고 타입을 넣어주면 됩니다.
@SuppressWarnings("serial"
public class HelloServlet extends HttpServlet{                                 
 
}
cs


만약 여러 종류의 경고를 억제시키고 싶은 경우 다음과 같이 { } 블록으로 감싸 배열로 넘겨줍니다.
@SuppressWarnings({"cast""unused"}) 
public class HelloServlet extends HttpServlet{                                 
 
}
cs


@SuppressWarnings에 사용되는 경고 타입
애너테이션 안에 사용되는 타입의 종류와 설명입니다.

타입명
설명
all
모든 경고를 억제합니다.
cast
캐스트 연산 관련 경고를 억제합니다.
dep-ann
사용 하지 말아야 할 주석 관련 경고를 억제합니다.
deprecation
사용을 권장하지 않는 메서드 사용 경고를 억제합니다.
fallthrough
switch문에서의 break를 사용하지 않았을 때 경고를 억제합니다.
finally
반환하지 않는 finally 블럭 관련 경고를 억제합니다.
null
null 분석 관련 경고를 억제합니다.
rawtypes
제네릭을 사용하는 클래스 매개 변수가 불특정일 때의 경고를 억제
unchecked
검증되지 않은 연산자 사용 경고를 억제합니다.
unused
사용되지 않는 변수 관련 경고를 억제합니다.




경고 나오지 않도록 설정 방법 2
권장하지는 않지만 이클립스 설정을 통해 경고 문구를 아예 꺼버리는 방법이 있습니다.
이클립스 설정을 통해 경고를 무시하기로 설정하는 방법입니다.
권장하지 않는 이유는 좋은 코딩 관례들을 사용하는것이 유지보수와 생산성을 늘리고 버그를 줄이는 지름길이기 때문입니다.


이클립스 상단메뉴 Window -> Preferences




Preferences -> Java -> Compiler -> Errors/Warnings -> 경고 끄고 싶은 항목 Warning 에서 Ignore로 변경 -> Apply


블로그 이미지

도로락

IT, 프로그래밍, 컴퓨터 활용 정보 등을 위한 블로그

,