본문 바로가기

SpringBoot

Eclipse 노란색 느낌표는 왜 있는 걸까?

#1 실행에는 문제가 없는데 왜 뜨는 거죠?

eclipse 개발을 하다가 종종 발견할 수 있는 노란색 느낌표 창은 있어도 그만, 없어도 그만이라고 생각했다.

개발의 목적인 실행이 잘 마무리되었으니깐 신경은 쓰여도 별로 관심조차 갖지 않았던 것 같다.

그러다 문뜩 좀 더 깔끔한 코드로 정돈하고 싶어 노란색 경고창의 다양한 원인과 생겨난 원인들을 바로 잡기 위해서 정리하게 된 페이지이다. 

노란색 경고창이 발생하는 원인이 다양해서 하나로 딱 정해서 말할 수는 없지만 예를 하나 들어 정의하자면,

String number;

number라는 String 형태의 변수를 선언했으나 사용되지 않았을 경우, 실행에는 당연히 영향이 가지 않는다.

하지만 쓸데없는 메모리를 차지하고 있는 비효율적인 코드 1줄이 생성된 것이다.

이러한 상황이 발생하면 Eclipse에서는 노란색 느낌표, 즉 경고창을 보여준다.


#2 경고가 발생하는 다양한 원인 분석해보기

The value of the local variable a is not used.

'a'라는 변수를 선언해줬는데 사용하지 않았을 경우에 발생하는 경고이다.

선언한 해당 변수 'a'를 지워주면 노란색 경고가 없어진다.

 

The import ~~~ is never used

해당 내용을 import 해주고 사용하지 않았을 경우 발생하는 경고이다.

해당 import 내용을 지워주면 노란색 경고가 없어진다.

 

Invalid location of tag (div)

div 태그의 위치가 잘못되었을 경우 발생하는 경고이다.

div 태그 같은 경우에는 <tr> 태그 안 <td> 태그 안에 있는 것이 원칙적으로 바르게 쓰이는 태그인데 올바른 위치에 쓰이지 않았기 때문이다.

이러한 경우에 해결할 수 있는 방법은 2가지이다.

1) <tr><td> div태그 </tr></td> 형태로 만들기

    : 해당 div 태그를 <tr><td> 태그 안으로 넣어준다.

2) <div> 태그 대신 <span> 태그를 사용하기

    : div는 사각형 박스 기준으로 줄 바꿈이 되지만 span은 문장 단위 기준이라서 옆으로 붙는다는 특성을 이용하여 작       성 해준다.

 

Undefined attribute value ('~~~')

ex) <table border="2" class="table table-striped">

      ; Undefined attribute value(2)

HTML에서 지정하지 않은 속성을 사용하고 있을 때 발생하는 경고이다.

하지만 추가 속성을 사용해야 하는 경우라면 어쩔 수 없이 이 경고를 무시해줘야 한다.

무시해주는 방법은 아래와 같다.

Window > Preferences > Web > HTML files > Validation > Attributes > Undefined attribute value : ignore로 설정하고 확인 버튼을 눌러주면 된다.

 

Attribute (align) is obsolete. Its use is discouraged in HTML5 documents.

ex) <table align="center">

HTML5에서 더 이상 제공하지 않는 속성을 사용하였을 경우 발생하는 경고이다.

align 속성은 HTML5 문서에서 더 이상 제공하지 않는다는 것이다.

그래서 해당 속성을 style 안에 넣어주었다.

margin-left: auto
margin-right: auto
text-align: center

 

Invalid location of tag (br).

<br> 태그를 머리글과 단락에서 사용하였을 경우 발생하는 경고이다.

머리글과 단락에서는 자동으로 새 줄에서 시작되므로 <br> 태그를 사용하지 말라는 뜻이다.

 

Invalid location of tag (link).

<link> 태그의 위치가 올바르지 않을 경우 발생하는 경고이다.

<link> 태그는 <head></head> 사이에 선언되어있어야 한다.

SMALL

'SpringBoot' 카테고리의 다른 글

SpringBoot, Vue 연동하기  (0) 2022.06.17
[ERROR] SpringBoot maven-surefire-plugin error  (0) 2022.06.17
[Java Error] Execution failed for task ':compileJava'.  (0) 2022.05.17
Spring Boot + CoolSMS  (2) 2022.03.22