먼저 '._*' 파일에 대해 간략하게 설명하자면, macOS 환경에서 저장장치(ex 외장 SSD)의 File System이 APFS가 아닌 경우 호환성을 위해 생성되는 숨김파일이다.
근본적인 해결을 위해서는 저장장치의 File System을 APFS로 포맷하는 것이다.
하지만 당장 저장장치의 데이터를 날려버릴 수는 없는 상황이라면 이 기록이 도움이 될 것이다.
먼저, 작업중인 프로젝트 디렉토리로 이동하여 아래 명령어를 터미널에서 입력한다. 그러면 우리를 괴롭혔던 '._*' 파일들이 일순간에 삭제된 것을 볼 수 있다.
dot_clean -m ./
그러나 기존에 존재했던 '._*' 파일들만 삭제될 뿐, 새로운 파일을 생성한다면 해당 파일에 해당하는 새로운 '._*' 파일이 생성되어 또다시 우리를 괴롭힐 것이다.
자 그럼 이젠 "Cmd + ," 키조합을 입력하여 Settings 창을 열고 "File Types"를 검색하여 Ignored Files and Folders 탭에서 '._*' 를 추가해준다.
OK 버튼을 누르고 나오면 '._*' 파일들이 더이상 보이지 않는다!
그러면 이제 모든 문제는 해결된 것일까?
유감스럽게도 프로젝트는 여전히 동작하지 않는다.
자, 그렇다면 마지막 일격이다.
resources 디렉토리 아래에 spring.properties 파일을 생성해준 다음 "spring.classformat.ignore=true" 을 입력해준다.
그리고 나서 실행!
Spring 프로젝트가 성공적으로 구동되었다.
'._*' 파일들을 애초에 생성되지 않게 만들 순 없을까?
아쉽지만 macOS 에서 해당 기능을 끄는 방법을 제공하지 않는 것으로 보인다.
따라서 근본적인 해결 방법은 macOS 에서 네이티브로 지원하는 APFS 를 사용하는 것이 권장된다.
P.S. '._*' <- 이거 계속 보다 보니 이모티콘 같아 보이기도 하고 은근히 귀엽다.