인프런 커뮤니티 질문&답변

손건일님의 프로필 이미지

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

스프링 메시지 소스 사용

시스템 os locale 과 intellij default locale이 다릅니다.

작성

·

306

1


[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
intellij 에서 로케일 티폴트를 찍으면 en-us라고 나오는데

시스템 os locale은 한국입니다.


locale.korea 라고 했을 때 messages_kr 파일이 없어 messages.properties(디폴트)를 먼저 찾아 테스트가 동작한다는 설명은 이해했습니다. (locale null 대신 locale.korea로 테스트성공)

 

하지만 null값으로 주게 되면 시스템 os 를 먼저 찾고(저의 경우 kr) -> messages_kr이 없으니 그대로 messages.properties를 찾을 줄 알았으나 messages_en.properties를 계속해서 참조했습니다. (아래)

 

default값을 찍어보니 맨 위 사진처럼 intellij에서 디폴트값을 us로 인식하고 있었습니다. 혹시 어떻게 해결해야 할까요?

답변 2

1

올바른 해결책인지는 모르겠습니다만. vm 옵션을 최대한 덜 추가 작성하는 방식이 있긴 합니다.

Help -> Edit Custom vm options 에

-Duser.language=ko -Duser.country=KR


를 추가하고 Setting > Gradle 에서

image.png


이렇게 tests using 을 IntelliJ 로 변경하면 됩니다.

다만 여전히 Build and run using 은 Gradle 이므로 어플리케이션을 실행시키는 Run Configuration 에서 VM option 에 동일한 옵션을 추가하셔야 할 것 같아요.

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 손건일님

저도 운영체제와 로케일이 인식되지 않는 정확한 이유는 잘 모르겠지만 다음과 같이 설정하시면 자바를 실행할 때 원하는 로케일을 지정할 수 있습니다.

 

VM 옵션에서 기본 로케일 설정:

IntelliJ에서 Run > Edit Configurations로 이동합니다.

실행 중인 애플리케이션 구성을 선택합니다.

"VM options" 필드에 -Duser.language=ko -Duser.country=KR를 추가합니다.

"OK"를 클릭하여 변경 사항을 저장합니다.

 

감사합니다.

손건일님의 프로필 이미지
손건일
질문자

각기 다른 테스트에 하나씩 다 vm 옵션을 넣으니까 해결이 됐는데
혹시 프로젝트 전체에 지정할 수 는 없을까요?

image

Edit Configuration Templates (오른쪽)에만 넣으면 해결이되지않았고

왼쪽 configurtaion에 4군데 모두 직접 넣어야 해결가능했습니다 ㅠㅠ

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 손건일님

이 부분은 저도 잘 모르겠습니다. 관련해서 혹시 아시는 분 있으면 답변 부탁드려요.

감사합니다.