문제
인텔리제이에서 테스트를 돌리자 error: unmappable character (0xEC) for encoding 에러가 발생했다.
컴파일러의 인코딩 방식이 주석의 한글을 인식하지 못한 것이다.
해결
🍎 첫 번째 방법
File Encodings 설정 변경
File → Settings → Editor → File Encodings
네모 박스의 설정을 UTF-8로 변경한다
Help → Edit Custom VM Options...
아래 코드를 추가해 준다
-Dfile.encoding=UTF-8
-Dconsole.encoding=UTF-8
🍎 두 번째 방법
File → Settings → Build, Excution, Deployment
Build and run using 설정을 IntelliJ IDEA로 변경해 주면 된다.
IntelliJ에서 Java를 gradle를 거쳐서 실행하는데 이렇게 되면 실행 속도가 느릴 때가 있다
이를 IntelliJ에서 직접 실행하도록 변경하는 것이다
Compile: 프로그래밍 언어 → 기계어, Java는 JVM이 문법 등을 검사
Build(빌드 ⊃ 컴파일): 프로그래밍 된 코드를 컴파일하고 실행 가능한 결과물로 만드는 과정
인텔리제이와 같은 IDEA에서는 프로젝트를 실행하면 자동으로 빌드를 수행하고, 실행한다
Gradle Build vs. IntelliJ IDEA Build
Gradle: 증분 빌드 X, 오픈 소스 빌드 자동화 도구 (vs. Maven)
IntelliJ IDEA: 증분 빌드 O, 인텔리제이 자체에서 제공하는 빌드 자동화 도구
증분 빌드(incremental build)
변경된 부분만 빌드를 하는 방식, 빠른 빌드를 원할 경우 선택한다
🤔 빌드 속도가 빠르다고 더 좋을까?
1. 파일을 삭제하면 이를 캐치하지 못하고 변경 사항이 없다고 판단한다
2. 삭제한 파일을 그대로 포함하여 빌드를 한다 → Bad
인텔리제이에서는 Build and run using, Run tests using의 두 가지 상황의 방식을 택할 수 있어서 유연하다
실제 빌드하고 실행해야하는 것은 확실히 빌드하기 위해서 Gradle을 선택하고,
테스트할 때는 빠른 빌드를 위해서 IntelliJ IDEA를 선택할 수 있다
Gradle은 build 폴더로 빌드 결과물이 나오고 IntelliJ IDEA는 out 폴더로 빌드 결과물이 나온다
'Back-End > Spring' 카테고리의 다른 글
AOP(Aspect-Oriented Programming) : Advice (0) | 2022.08.16 |
---|---|
[Error] cannot resolve symbol 'springbootapplication' (0) | 2022.08.14 |
[Error] Java main 실행 안 됨 | Java file outside of source root (0) | 2022.07.10 |
[Error] iml 파일을 GitHub에 올려야 하는가? | gitignore (0) | 2022.07.08 |
[Spring MVC Ⅱ] 타임리프 - 스프링 통합과 폼: 라디오 버튼 (0) | 2022.06.10 |
댓글