티스토리 뷰

SMALL

 JAVA로 '안녕하세요'를 출력할 목적으로 HiKrea라는 class를 만들었는데요.

메모장으로 JAVA코드를 입력하였고, CMD로 컴파일(compile)과 결과를 실행할 목적입니다.

일단 이미 JDK를 설치한 상황이고, CMD로 compile를 시도하였을 때 오류가 발생했습니다.

오류가 발생한 class의 이름은 HiKorea이고

해당 컴파일 오류는 아래와 같으며 이 오류의 원인과 해결방법을 적어보도록 하겠습니다.

 

1. 오류 원인 파악

일단 오류 발생했다는 설명을 읽어보았고 저는 제가 컴파일 하고자 한 소스파일인 HiKorea파일에 적은 문자가

x-windows-949로 인코딩할 수 없다는 것으로 이해했습니다.

 

* windows-949 : 한국어판 Microsoft Windows의 기본 코드 페이지로, 한글 인코딩의 한 종류이며 EUC-KR의 확장형이다.

'통합 완성형'이나 '확장 완성형'이라고도 한다. 마이크로소프트가 개발했기 때문에, MS949, windows-949 등으로 불린다.

 

 

2. 컴파일 오류가 발생한 파일 소스코드 확인

 저의 소스 코드는 아래처럼 '안녕하세요'를 출력하는 것이 목적인데요.

'안녕하세요'가 한국어이기 때문에  x-windows-949로 인코딩할 수 없는 것 같습니다.

 

3. 문제해결

 x-windows-949로는 한국어를 인코딩할 수 없기 때문에, 한국어도 가능한 UTF8로 인코딩해주기로 했습니다.

x-windows-949로 인코딩하는 것은 디폴트값이기 때문에, UTF8은 컴파일하는 과정 뒤에

' -encoding UTF8'을 추가로 써주면 됩니다.

javac 파일이름.java -encoding UTF8

 

<실행 결과>

 저처럼 아래와 같이 아무것도 뜨지 않으면 성공입니다.

 

* dir 명령어를 통해 컴파일된 파일(확장자 : .class)이 생겼는지 확인할 수 있습니다.

 

 

4. + 추가) java 결과 실행

추가적으로 글을 남깁니다. 결과를 실행하기 위해 'java 파일이름'을 입력해줍니다.

이때, 실행하는 명령에서는 파일의 확장자명(.class)은 생략해야합니다.

java 파일명

 

<실행 결과>

 

 

5. 오류의 원인 정확히 하기.

 오류의 해결만으로도 좋지만, 다음에 비슷한 오류가 발생했을 때 빠르게 해결할 수 있기 위해

오류의 원인을 정확히 아는 것도 좋다고 생각합니다.

 

저는 초반에 오류의 원인을 x-windows-949가 한국어를 인코딩하지 못한다는 것으로 생각하였고, 

오류의 원인을 더 정확히 확인하기 위해 영어로 이루어진 소스파일을 준비했습니다.

Hi를 출력할 목적이고, 파일명은 Hi.java입니다.

소스코드는 아래와 같습니다.

 

<컴파일 시도 & 결과>

 컴파일 결과, 바로 성공했고

 

출력하고자 한 결과도 잘 나옵니다.

 

 오류의 원인은 windows의 cmd의 encoding default value language인 x-windows-949이

한국어를 매핑하지 못한다는 것이네요.

반응형
LIST
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함