이클립스 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
'이클립스[Elipse]' 카테고리의 다른 글
[이클립스] 이클립스에서 Java 명령행 매개변수(String[] args 배열) 값 넘기는 방법 (0) | 2018.06.29 |
---|---|
[이클립스] STS , 이클립스 A Java Runtime Environment (JRE) must be available 실행 오류 해결하기 (0) | 2018.06.27 |
[이클립스] 이클립스로 외부 그레이들(GRADLE) 프로젝트 불러오기 (0) | 2018.02.21 |
[이클립스] 이클립스로 그레이들(GRADLE) 프로젝트 만들기 (5) | 2018.02.21 |
[이클립스] 이클립스 그레이들(GRADLE) 프로젝트 환경 셋팅 (0) | 2018.02.21 |